美文网首页
javascript 数组操作技巧

javascript 数组操作技巧

作者: 何家一枝花 | 来源:发表于2021-07-13 18:16 被阅读0次

    1:统计出数组中出现最多的值

    (1)

    var obj ={}
    var arry = ['a','b','c','c','c','c','c','c','c','d','d','d','d','e','e','e','e','a','a','a','b']
    arry.map(item=>{
        if(!obj[item]){
            obj[item] = 1
    }else{
        obj[item] += 1
    }
    })
    console.log(obj);
    // {a: 4, b: 2, c: 7, d: 4, e: 4}
    

    (2)

    let arr = ['name','age','long','short','long','name','name'] 
    
    let arrResult = arr.reduce((pre,cur) =>{
        console.log(pre,cur)
        if(cur in pre){
            pre[cur]++
        }else{
            pre[cur] = 1
        }
        return pre
    },{})
    

    console.log(arrResult)//结果:{name: 3, age: 1, long: 2, short: 1}


    image.png

    由于设置了迭代初始值,pre的第一个值是一个空对象,此时cur为name,然后进行判断,发现在pre中没有name属性,所以就将name对应的属性值赋为1;
    后面没有重复的是一样的道理,如果碰到重复值,就会将该属性值加1,这样就能计算元素重复的次数了。

    2:删除数组中的假值

    我们时常需要在处理数据的时候要去掉假值。在Javascript中,假值是false, 0, " ", null, NaN, undefined。

    var plants = ['Saturn', 'Earth', null, undefined, false, "", NaN, 'Uranus', 'Mercury', 'Venus', 'Earth', 'Mars', 'Jupiter'];
    var trueArr = plants.filter(Boolean);
    console.log(trueArr); // ['Saturn', 'Earth','Uranus', 'Mercury','Venus', 'Earth','Mars', 'Jupiter']
    

    3:数组如何快速转变成对象存储(扩展运算符)

    let arr = ['key','jack','leaf','tree','cup','buddle','fish']
    let obj = { ...arr }
    console.log('obj',{0: "key", 1: "jack", 2: "leaf", 3: "tree", 4: "cup", 5: "buddle", 6: "fish"});
    

    相关文章

      网友评论

          本文标题:javascript 数组操作技巧

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