JavaScript - 利用数组的迭代方法操作对象数组

149 阅读1分钟

首先定义一个数组对象:

let arr = [
    {
        name: "Attention",
        age: 21
    },
    {
        name: "Ace",
        age: 26
    },
    {
        name: "Aorger",
        age: 55
    },
];

如果要给所有对象添加一个共有的属性或方法,可以使用array.map()方法:

arr = arr.map(item => {
    item.introduce = () => {
        console.log(`我叫${item.name},今年${item.age}岁。`);
    };
    return item;
});

此时,arr中的每个对象都拥有了introduce()方法。

如果要获取数组对象中的某一个属性或方法,也可以将map()方法这样用:

let arr1 = arr.map(item => item.name);
let arr2 = arr.map(item => item.age);
console.log(arr1); // ["Attention", "Ace", "Aorger"]
console.log(arr2); // [46, 44, 50]

如果要对数组对象中的某个属性进行统计,可以使用array.reduce()方法

let arr3 = arr.reduce((total, item) => total + item.age, 0);
console.log(arr3); // 140

array.reduce()语法:

array.reduce(function(total, currentValue, currentIndex, arr), initialValue)