美文网首页
数组常用查询方法

数组常用查询方法

作者: 小福饼 | 来源:发表于2019-12-31 18:12 被阅读0次
    // 查找数组中是否存在某元素  indexOf 
        // indexOf 返回首个被找到的元素在数组中的索引位置; 若没有找到则返回 -1  
        var a=1;
        var arry1=[1,2,3];
        console.log(arry1.indexOf(a))// 0  输出索引位置
    
    
        //删除数组中的某个元素 splice
        //splice 返回被删除项,并改变原数组
        var arry2=[4,5,6];
        console.log(arry2.splice(1,1)) // [5]  返回被删除项
        console.log(arry2) //[4,6]  
    
    
        //查找数组对象中是否存在某个元素  filter
        //filter 返回一个满足条件的新的数组  不改变原数组
        var arry3=[
            {name:"Alice",id:0},
            {name:"Bob",id:1},
            {name:"Cindy",id:2}
        ];
    
        let newArry=arry3.filter(item=>{
            return item.id==1;
        })
    
        console.log(arry3)//[{name:"Alice",id:0},{name:"Bob",id:1},{name:"Cindy",id:2}]
        console.log(newArry) // [{name:"Bob",id:1}]
    
    
        var b=[1,2];
        let newArry2=arry3.filter(item=>{
            return b.indexOf(item.id)>-1
        })
        console.log(newArry2)//[{name:"Bob",id:1},{name:"Cindy",id:2}]
    
    
        //其他
        var listmap=new Map();
        listmap=listToMap(arry3,"id","name");//从arry3中,找出id对应的name值
        console.log(listmap)//{0 => "Alice", 1 => "Bob", 2 => "Cindy"}
        console.log(listmap.get(1))//找出arry3中,id=1的对象里面的name值  输出Bob
    
        //
        function listToMap(list, k1, k2) {
          return list.reduce((map, item) => {
            return map.set(item[k1], item[k2]);
          }, new Map());
        }
    

    相关文章

      网友评论

          本文标题:数组常用查询方法

          本文链接:https://www.haomeiwen.com/subject/tgsfoctx.html