当前位置: 首页 > news >正文

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)

第二种办法

  1. 从数组的最后一个元素开始,向前遍历。
  2. 对于每个元素,生成一个介于0和当前索引之间的随机整数。
  3. 交换当前元素和随机生成索引位置的元素。
  4. 继续这个过程直到数组的第一个元素。

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) 因此想到了我之前写的截取字符串获取参数跳转&#xff0c;在写一遍 let str nameJack&age18&gender男 let list str.split(&); let obj {} list.forEach((v)>{ …...

NLP 复习大纲

CH3 激活函数意义 增强网络表达能力&#xff0c;引入非线性因素 连续可导的非线性函数 尽可能简单 导数的值域要在合适的范围内 为什么会发生梯度消失 误差传播的迭代公式为&#xff1a; 其中需要用到激活函数的导数&#xff0c;而激活函数的导数值小于1时&#xff0c;误差经过…...

Kafka的rebalance机制

1、什么是 rebalance 机制 重平衡&#xff08;rebalance&#xff09;机制规定了如何让消费者组下的所有消费者来分配 topic 中的每一个分区。 2、rebalance 机制的触发条件是什么 &#xff08;1&#xff09;消费者组内成员变更 成员增加&#xff1a;当有新的消费者加入到消费…...

【git】git stash相关指令

目录 git stashgit stash save “”git stash list&#xff1a; 获取stash列表git stash pop&#xff1a;恢复最近一次stash缓存git stash apply stash{index}: 恢复指定缓存在这里插入图片描述git stash drop stash{1}&#xff1a;删除指定缓存 git stash clear :删除stash gi…...

BLIP论文笔记

论文地址 BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation 论文思想 其实Clip就相当于只用了ITC...

设计模式-创建型设计模式总结

创建型设计模式&#xff08;Creational Design Patterns&#xff09;是 设计模式 中的一类&#xff0c;专注于如何实例化对象或类。它们提供了一些优雅的方式来创建对象&#xff0c;允许程序在对象创建过程中更灵活地进行管理&#xff0c;从而提高系统的扩展性和维护性。 创建…...

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) 重点&#xff1a; 在 TokenWhale 合约的 approveAndCallcode 函数中&#xff0c;漏洞允许任…...

鸿蒙应用开发搬砖经验之—使用ArkWeb要开启文档对象模型存储接口权限(DOM Storage API权限)

如题&#xff0c;该属性/功能默认是没有开启的&#xff01;&#xff01;&#xff01;&#xff01; 所以需要我们手动开启&#xff0c;否侧加载的H5 SPA大概率功能不正常&#xff0c;因为现在大多数的H5应用都用遇到对象模型存储的功能&#xff0c;对应的接口是 不开启一般会…...

本机实现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年&#xff0c;华为公司数字化转型变革规划汇报通过&#xff0c;一系列的变革项目由变革指导委员会(Executive Steering Committee,ESC)完成立项。8年多来&#xff0c;华为数字化转型工作初步取得了一些成果&#xff0c;比如&#xff1a; 实现“销售收入翻番&#xff0c;但…...

图像转换 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总结了三种方式&#xff0c;比较还是安装了Salem库&#xff0c;第一次import联网下载也很顺利&#xff01;&#xff01;&#xff01;...

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 客户端&#xff0c;用于浏览器和 Node.js。它支持请求和响应拦截、取消请求、自动转换 JSON 数据等功能&#xff0c;非常适合在现代 JavaScript 应用中进行网络请求。以下是对 axios 的详细讲解&#xff0c;包括安装、基本用法、高级功能等。…...

groupby 操作的不同参数

groupby 是数据分析中一个非常强大的操作&#xff0c;可以根据指定的规则将数据拆分成多个组&#xff0c;并对每个组进行聚合、转换或过滤等操作。我们逐个解释这些参数的作用&#xff0c;并通过数值举例进行说明。 参数解释 by&#xff1a;分组依据 by 参数指定了分组的依据&…...

组合模式——C++实现

1. 模式简介 组合模式是一种结构型模式。 组合模式又叫做部分整体模式&#xff0c;组合模式用于把一组相似的对象当做一个单一的对象。特别擅长处理树形的数据&#xff0c;对于非树形的数据不好用它。 对于树形的数据&#xff0c;一个典型的例子就是文件系统。在文件系统里大致…...

【开源监控工具】Uptime Kuma:几分钟设置实时监控你的网站性能

文章目录 前言1.关于Uptime Kuma2.安装Docker3.本地部署Uptime Kuma4.使用Uptime Kuma5.cpolar内网穿透工具安装6.创建远程连接公网地址7.固定Uptime Kuma公网地址 前言 大家好&#xff01;如果你是网站运维人员或者管理着多个站点&#xff0c;那么今天我要介绍的一款工具绝对…...

MATLAB画柱状图

一、代码 clear; clc; figure(position,[150,100,900,550])%确定图片的位置和大小&#xff0c;[x y width height] %准备数据 Y1[0.53,7.9,8.3;0.52,6.8,9.2;0.52,5.9,8.6;2.8,5.8,7.9;3.9,5.2,7.8;1.8,5.8,8.4]; % withoutNHC X11:6; %画出4组柱状图&#xff0c;宽度1 h1…...

stm32内部flash在线读写操作

stm32内部flash在线读写操作 &#x1f4cd;相关开源库文章介绍《STM32 利用FlashDB库实现在线扇区数据管理不丢失》 ✨不同系列&#xff0c;内部flash编程有所区别。例如stm32f1是按照页擦除&#xff0c;半字&#xff08;16bit&#xff09;或全字(32bit)数据写入&#xff1b;st…...

SpringCloud源码分析-nacos与eureka

一、高版本为什么优先用nacos 如果用alibaba springcloud&#xff0c;那么就是阿里的技术体系。nacos属于阿里的原生技术栈&#xff0c;所以阿里更偏向于用nacos作为服务发现注册。 二、对比分析 Spring Cloud Alibaba 推荐使用 Nacos 作为服务发现和配置管理的首选组件&…...

DCGAN模型详解

模型背景 在深度学习领域迅速发展的背景下,生成对抗网络(GAN)作为一种革命性的生成模型应运而生。 Ian Goodfellow等人于2014年首次提出GAN概念 ,开创了生成模型的新纪元。这一创新源于对深度学习在图像生成方面潜力的探索,旨在解决非监督学习中的关键问题:如何让机器创造…...

单片机-蜂鸣器实验

#include "reg52.h" typedef unsigned char u8; typedef unsigned int u16; sbit BEEPP2^5; //将 P2.5 管脚定义为 BEEP P2.5默认高电平 void delay_10us(u16 ten_us){ while(ten_us--); } void main() { u16 i2000;//脉冲2000次 while(1) { …...

SQL 分析函数与聚合函数的组合应用

目标&#xff1a;掌握 SQL 中分析函数&#xff08;窗口函数&#xff09;与聚合函数的组合使用&#xff0c;通过实际案例实现复杂业务需求&#xff0c;如同比、环比和趋势分析。 1. 分析函数与聚合函数的区别 聚合函数&#xff08;Aggregate Functions&#xff09;&#xff1a;…...

【项目】基于趋动云平台的Stable Diffusion开发

【项目】基于趋动云平台的Stable Diffusion开发 &#xff08;一&#xff09;登录趋动云&#xff08;二&#xff09;创建项目&#xff1a;&#xff08;三&#xff09;初始化开发环境&#xff1a;&#xff08;四&#xff09;运行代码&#xff08;五&#xff09;运行模型 &#xf…...