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))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值