js的一些处理
1.翻转字符串
let str = 'abcdef'
str = str.split('').reverse().join()
console.log(str)

因此想到了我之前写的截取字符串获取参数跳转,在写一遍
let str = 'name=Jack&age=18&gender=男'
let list = str.split('&');
let obj = {}
list.forEach((v)=>{
let item = v.split('=')
let key = item[0]
let value = item[1]
obj[key] = value;})

2.数组翻转
常规办法
第一种
let str = ['a','b','c','d','e','f'];
let arr = []
for(let i = str.length-1; i < str.length;i--){
if(!str[i]){
break
}
arr.push(str[i])
}
第二种
let str = ['a','b','c','d','e','f'];
let arr = str.reverse()
console.log(arr)

3.获取页面url的query参数
第一种
let params = "https://baidu.com?username=admin&password=admin123"
let strIdx = params.indexOf('?')
let newStr = params.substring(strIdx+1)
let arr = newStr.split('&')
let obj = {}
arr.forEach((v)=>{
let item = v.split('=')
let key = item[0];
let value = item[1]
obj[key] = value;
})
console.log("obj",obj)
第二种
URLSearchParams:将string解析成为查询字符串
像微信小程序URLSearchParams方法不支持的,用原生的比较好,这个只是作为一个了解。而且查询的也只是?后面的内容,前面还得分割一下,没必要。
let params = "https://baidu.com?username=admin&password=admin123"
let newStr = params.substring(params.indexOf('?'))
let usp = new URLSearchParams(newStr)
let obj = {}
for(let key of usp){
obj[key[0]] = key[1]
}
console.log(obj)
4.随机打乱顺序
第一种办法是我自己写的确实不太好,重复了就让他在重新在随机一次,太过于简单粗暴了,存在很多次相同的情况
// 数组随机打乱
let params = ['a','b','c','d','e']
let newArr = []
for(let i = 0; i < params.length;i++){
const num = Math.floor(Math.random() * params.length);
const newStr = params[num];
if(newArr.includes(newStr)){
i = i - 1;
}else{
newArr.push(newStr)
}
}
console.log('newArr',newArr)
第二种办法
- 从数组的最后一个元素开始,向前遍历。
- 对于每个元素,生成一个介于0和当前索引之间的随机整数。
- 交换当前元素和随机生成索引位置的元素。
- 继续这个过程直到数组的第一个元素。
let params = ['a', 'b', 'c', 'd', 'e']
function shuffleArray(array) {
for (let i = array.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[array[i], array[j]] = [array[j], array[i]];
}
return array;
}
console.log(shuffleArray(params))
相关文章:
js的一些处理
1.翻转字符串 let str abcdef str str.split().reverse().join() console.log(str) 因此想到了我之前写的截取字符串获取参数跳转,在写一遍 let str nameJack&age18&gender男 let list str.split(&); let obj {} list.forEach((v)>{ …...
NLP 复习大纲
CH3 激活函数意义 增强网络表达能力,引入非线性因素 连续可导的非线性函数 尽可能简单 导数的值域要在合适的范围内 为什么会发生梯度消失 误差传播的迭代公式为: 其中需要用到激活函数的导数,而激活函数的导数值小于1时,误差经过…...
Kafka的rebalance机制
1、什么是 rebalance 机制 重平衡(rebalance)机制规定了如何让消费者组下的所有消费者来分配 topic 中的每一个分区。 2、rebalance 机制的触发条件是什么 (1)消费者组内成员变更 成员增加:当有新的消费者加入到消费…...
【git】git stash相关指令
目录 git stashgit stash save “”git stash list: 获取stash列表git stash pop:恢复最近一次stash缓存git stash apply stash{index}: 恢复指定缓存在这里插入图片描述git stash drop stash{1}:删除指定缓存 git stash clear :删除stash gi…...
BLIP论文笔记
论文地址 BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation 论文思想 其实Clip就相当于只用了ITC...
设计模式-创建型设计模式总结
创建型设计模式(Creational Design Patterns)是 设计模式 中的一类,专注于如何实例化对象或类。它们提供了一些优雅的方式来创建对象,允许程序在对象创建过程中更灵活地进行管理,从而提高系统的扩展性和维护性。 创建…...
Java-多种方法实现多线程卖票
Java多线程卖票是一个经典的并发编程问题,它展示了如何在多个线程之间安全地共享和修改资 源。以下是几种实现方式: 使用synchronized关键字: 使用synchronized修饰符来同步方法或代码块,确保同一时刻只有一个线程可以访问临界区(即操 作共享资源的代码)。 使用Reen…...
嵌入式系统开发笔记112:通过有人云测试MQTT
文章目录 前言一、MQTT1、基本原理(1)发布 / 订阅模式:(2)主题系统:2、特点(1)轻量级:(2)可靠性:(3)低功耗:3、消息主题的命名(1)使用正斜杠(/)分隔层级:(2)区分大小写:(3)避免特殊字符:4、客户端ID(1)作用a、连接标识:b、消息路由与管理:c、会话…...
C++ Latch 和 Barrier: 新手指南
文章目录 什么是 Latch 和 Barrier?为什么要使用 Latch 和 Barrier?代码示例示例 1: 使用 std::latch示例 2: 多阶段任务示例 3: 使用 std::barrier 何时使用?优势使用时需要注意的事项参考链接源码链接 随着并发和并行编程的重要性日益增加, 理解像 Latch 和 Barrier 这样的…...
【Cocos TypeScript 零基础 4.1】
目录 背景滚动 背景滚动 创建一个 空节点 背景丟进去 ( 复制一个,再丢一次都行) 新建TS脚本 并绑定到 空节点 上 再对TS脚本进行编辑 export class TS2bg extends Component {property (Node) // 通过属性面板去赋值bg1:Node nullproperty (Node) bg2:Node nullprope…...
区块链安全常见的攻击合约和简单复现,附带详细分析——不安全调用漏洞 (Unsafe Call Vulnerability)【6】
区块链安全常见的攻击分析——不安全调用漏洞 Unsafe Call Vulnerability 1.1 漏洞合约1.2 漏洞分析1.3 攻击步骤分析1.4 攻击合约 Name: 不安全调用漏洞 (Unsafe Call Vulnerability) 重点: 在 TokenWhale 合约的 approveAndCallcode 函数中,漏洞允许任…...
鸿蒙应用开发搬砖经验之—使用ArkWeb要开启文档对象模型存储接口权限(DOM Storage API权限)
如题,该属性/功能默认是没有开启的!!!! 所以需要我们手动开启,否侧加载的H5 SPA大概率功能不正常,因为现在大多数的H5应用都用遇到对象模型存储的功能,对应的接口是 不开启一般会…...
本机实现Llama 7B推理及部署
本机实现Llama 7B推理及部署 使用llamafile在Windows系统部署 部署步骤:首先从https://www.modelscope.cn/api/v1/models/bingal/llamafile-models/repo?Revision=master&FilePath=llamafile-0.6.2.win.zip下载llamafile并解压得到llamafile.exe文件, 再从https://www.…...
Spring Boot 依赖配置分离多种打包方式
生产上发布 Spring Boot 项目时,但凡代码有一丁点改动,就得把整个项目包括依赖重新打包上传部署,这样的包很大,影响效率 为解决这个问题,可以把依赖(pom中的依赖jar包)、配置文件(resources 下的 applacation.yml 等文件)从项目主体里剥离出来,后续部署时,只需发布代…...
华为的数字化转型框架和数字化转型成熟度评估方法
2016年,华为公司数字化转型变革规划汇报通过,一系列的变革项目由变革指导委员会(Executive Steering Committee,ESC)完成立项。8年多来,华为数字化转型工作初步取得了一些成果,比如: 实现“销售收入翻番,但…...
图像转换 VM与其他格式互转
目录 前言 图像转换 1.相机取流转VM对应类型图像格式 1.1 相机采图转流程输入和Group输入(ImageBaseData_V2) 1.2 相机采图转图像源SDK输入(ImageBaseData) 1.3 相机采图转模块输入(InputImageData) 1.4 相机采图转算子输入(CmvdImage) 2.Bitmap取图与VM对应图像格式互…...
气象白化的三种方法
【总结】cnmaps、maskout、salem的正确打开方式 - 知乎https://zhuanlan.zhihu.com/p/636252854总结了三种方式,比较还是安装了Salem库,第一次import联网下载也很顺利!!!...
Azkaban3.84集群安装部署
基础环境配置 上传安装包并解压 tar -zxvf azkaban-exec-server-3.84.4.tar.gz -C /ddhome/bin/ tar -zxvf azkaban-web-server-3.84.4.tar.gz -C /ddhome/bin/ tar -zxvf azkaban-db-3.84.4.tar.gz -C /ddhome/bin/mv azkaban-exec-server-3.84.4 azkaban-exec mv azkaban-w…...
XIAO Esp32S3制作网络摄像头——1音频获取
1、功能介绍 本文主要是基于XIAO Esp32S3(Sense)做的一款网络摄像头,主要包含以下功能 1 音频获取/保存 2 视频获取/视频保存 3 行人检测/火焰检测/行人追踪(告警) 4 指定区域 5 摄像头旋转 。。。 本文主要实现第一步,音频获取,后续会陆续实现后面的功能,敬请期…...
【Axios使用手册】如何使用axios向后端发送请求并进行数据交互
axios 是一个基于 Promise 的 HTTP 客户端,用于浏览器和 Node.js。它支持请求和响应拦截、取消请求、自动转换 JSON 数据等功能,非常适合在现代 JavaScript 应用中进行网络请求。以下是对 axios 的详细讲解,包括安装、基本用法、高级功能等。…...
Yokogawa AAI835-H50/K4A00模拟输入/输出模块
Yokogawa AAI835-H50/K4A00 模拟输入/输出模块产品特点:通道配置:共8个通道,含4路模拟输入和4路模拟输出。信号类型:所有通道均支持4-20mA标准电流信号。HART通信:支持HART协议,可与智能现场设备双向数字通…...
从分立逻辑到单片机:基于ATmega8的MIDI通道分析仪设计与实现
1. 项目概述:从分立逻辑到单片机的MIDI通道分析仪进化史二十年前,当我在《Elektor》杂志上发表第一版MIDI通道分析仪时,整个数字音乐世界还处于一个相当“硬核”的阶段。那个版本的设计,用今天的话来说,简直就是一场“…...
ROS Noetic实战:从bag包里‘抠’出雷达点云和IMU数据的保姆级教程(Ubuntu 20.04)
ROS Noetic实战:从bag包里提取雷达点云和IMU数据的完整指南(Ubuntu 20.04)在机器人开发中,ROS bag文件就像是一个装满珍贵数据的宝箱,而雷达点云和IMU数据则是其中最闪亮的宝石。作为一名长期与ROS打交道的开发者&…...
PCL 法向量夹角剔除错误匹配点对【2026最新版】
目录 一、 算法简介 1、主要函数 2、参考文献 二、 代码实现 三、 结果展示 四、 参考链接 博客长期更新,本文最新更新时间为:2026年5月24日。代码在PCL1.15.1中测试通过 一、 算法简介 在三维点云配准中,对应点(correspondence)的准确性直接决定了配准算法的精度和鲁棒性…...
LeagueAkari:英雄联盟终极自动化助手革命性指南
LeagueAkari:英雄联盟终极自动化助手革命性指南 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power 🚀. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 你是否在英雄联盟游戏中反复经历这…...
WMPFDebugger与微信开发者工具对比:哪个更适合你的调试需求?
WMPFDebugger与微信开发者工具对比:哪个更适合你的调试需求? 【免费下载链接】WMPFDebugger Yet another WeChat miniapp debugger on Windows 项目地址: https://gitcode.com/gh_mirrors/wm/WMPFDebugger 在Windows平台的微信小程序开发中&#…...
从无线破解到PDF解密:盘点那些容易被忽略的‘非主流’密码审计场景与工具
密码安全审计的隐秘战场:从无线网络到加密文档的实战指南 当大多数人谈论密码安全时,脑海中浮现的往往是服务器登录、数据库访问这些企业级场景。然而在数字生活的每个角落,从家庭Wi-Fi到工作文档,密码保护的脆弱性同样可能成为安…...
基于Meshtastic构建LoRa Mesh网络:从硬件自制到传感器集成实战
1. 项目概述:构建一个灵活且易用的LoRa Mesh网络 如果你对物联网、远程传感或者去中心化通信网络感兴趣,那么LoRa技术一定不会陌生。它以其超低功耗、超远距离和强大的抗干扰能力,成为了构建广域传感网络的理想选择。然而,传统的…...
Linux 负载均衡的 cache_nice_tries:缓存友好的迁移尝试
简介现如今服务器、嵌入式设备、工控主板普遍采用多核、NUMA 架构 CPU,多进程多线程并发运行模式成为常态。Linux 内核依靠调度域分层负载均衡机制,分散 CPU 运行压力,避免单核心负载过高、其余核心空闲浪费硬件算力。但任务跨核心迁移是一把…...
基于ESP8266的可穿戴Wi-Fi设备:从硬件设计到ESPHome智能控制
1. 项目概述:一个可穿戴的Wi-Fi智能小玩意最近在捣鼓智能家居和可穿戴电子,总想把手边的小物件变得更“聪明”一点。于是,我设计并制作了一个基于ESP8266的可穿戴Wi-Fi设备。它的核心思路很简单:把一块功能强大的Wi-Fi微控制器&am…...
