关于es6:统一删除或过滤数组中的每一项对象的指定属性

63次阅读

共计 585 个字符,预计需要花费 2 分钟才能阅读完成。

需要形容

有一数组,数组中的每一项搁置的是一个个的对象,构造如下:

      let arr = [
            {
                name: "孙悟空",
                age: 500,
                home: "花果山"
            },
            {
                name: "猪八戒",
                age: 88,
                home: "高老庄"
            },
            {
                name: "沙和尚",
                age: 1000,
                home: "通天河"
            },
        ]

想加工数据当前,使得每一项的 home 属性都不要,只留 name 和 age 属性。

形式一(map 映射,指定属性不映射过来)

       let newArr = arr.map((item) => {
            let obj = {
                name: item.name,
                age: item.age
            }
            return obj
        })
        console.log(newArr);

形式二(过滤遍历并 delete 删除指定属性)

       let newArr = arr.filter((item, index) => {return delete item.home // 留神:打印一下 delete item.home 返回的是 true});
        console.log(newArr);

形式三(一般遍历间接删除指定属性)

        // forEach 遍历
        arr.forEach((item) => {delete item.home});
        console.log(arr);
        
        // for in 遍历
        for (let key in arr) {delete arr[key].home
        }
        console.log(arr);
        
        // 等...

记录一下 ……

正文完
 0