js数组字符串常用方法习题

1.把字符串翻转 “kjihgfedcba”

      let str = "abcdefghijk";
      
      console.log(str.split('').reverse().join(''));

2.分别统计出 及格和不及格的分数总和

      let subjectList = [
        { score: 10 },
        { score: 20 },
        { score: 30 },
        { score: 40 },
        { score: 50 },
        { score: 60 },
        { score: 70 },
        { score: 80 },
        { score: 90 },
        { score: 100 },
      ];

      // 及格的总分
      const passSum =  subjectList.filter(item=> item.score>59).reduce((acc,item)=> acc+=item.score ,0)
	 //不及格分数
      const failSum = subjectList.filter(item=> item.score<60).reduce((acc,item)=> acc+=item.score ,0)

3. 截取域名

  	 let href = "http://www.baidu.com?name=zs&age=18&sex=男";
     console.log(href.split('?')[0]);//http://www.baidu.com

4 域名后参数转对象

获取问号后面的参数 name=zs&age=18&sex=男 并且转成对象 {name:‘zs’,age:18,sex:‘男’}

const paramsStr = href.split('?')[1]  // name=zs&age=18&sex=男
      const paramsArr = paramsStr.split('&') //  ['name=zs', 'age=18', 'sex=男']
      // 第一种写法
      let obj = {}
      paramsArr.forEach(it=>{
        // console.log(it.split('=')[0],it.split('=')[1]);
        obj[it.split('=')[0]]=it.split('=')[1]
      })
      // 第二种 
      // const res =  href.split('?')[1].split('&').reduce((acc,it)=> {
      //   console.log(it);
      //   acc[it.split('=')[0]] = it.split('=')[1]
      //   return acc
      // },{})

5 数组元素去重

      let arr = [1, 2, 3, 4, 5, 1, 2, 3];
      // 5. 数字去重 
      // 第一种写法
      // let newArr = []
      // arr.forEach(it=>{
      //     // includes(ture/false)  find(值) findIndex(索引/-1)  
      //     if(!newArr.includes(it)){
      //       newArr.push(it)
      //     }
      // })
      //第二种
      const  newArr = arr.reduce((acc,item)=> acc.includes(item)? acc :  [...acc,item] ,[])

      console.log(newArr,'newArr');

6 统计数组中每个元素出现的次数

统计数组中每个元素出现的次数 {1:2,2:2,3:2,4:1,5:1}

let obj1 = { }
      arr.forEach(it =>{
        // if(obj1[it]) {
        //   obj1[it] ++
        // }else {
        //   obj1[it] = 1
        // }
        obj1[it]? obj1[it] ++ : obj1[it] = 1
      })

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值