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

需要形容

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

      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);
        
        // 等...

记录一下……

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理