js数组常用方法

生成指定长度指定值的数组

Array.from({ length:指定长度}, () => '指定值')

传json格式到后端

str = "{'2/8':'1,2,3,157,158,159,160,161,162,163'},{'2/9':'4,5,6'}"

str =eval('([' + str + '])')

   取父级id作为key,子集id集合作为value

  getPrivilege(arr){
        let data =arr.map((item)=>{
          let name = item.id
            if(item.children && item.children.length>0){
                let val = []
                item.children.map((it,inx)=>{
                  if(it.checked===true){
                    val.push(it.id)
                  }
                })
                val = val.toString()
                if(val){
                  let obj = {[name]:val}
                  return { ...obj }
                }
            }else{
              if(item.checked===true){
                return {
                  [name]:''
                }
              }
            }
        })
        data = data.filter(d=>d);
        return data
    },

 一维数组类型

     let arr = [
            {id:12},
            {id:11,children:[{id:112,name:'首页1'},{id:113,name:'首页1'}]},
            {id:22,children:[{id:222,name:'首页2'},{id:223,name:'首页2'}]}
        ]
        console.log('arr',arr)
        let dataAll = {}
        let demo =arr.map((item)=>{
            if(item.children){
                let val = []
                item.children.map((it,inx)=>{
                    val.push(it.id)
                })
                val = val.toString()
                obj = { [item.id]:val}
                return obj
            }
            return {
                [item.id]:''
            }
        })
        let arrObj = {}
        const returnedTarget = Object.assign( ...demo);
        console.log('returnedTarget',returnedTarget)
js过滤两个数组相同项
let arr1 = [1, 4, 6]
        let arr2 = [
          {id:1,title:'test1'},
          {id:2,title:'test2'},
          {id:3,title:'test3'},
          {id:4,title:'test4'},
          {id:5,title:'test5'},
          {id:6,title:'test6'}
        ]
        let arr3 =[] 
        arr1.forEach((item)=>{
          arr2.forEach((it)=>{
            if(item === it.id){
              arr3.push(it.title);
            }
          })
        })
        console.log('arr3===',arr3)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值