有一个这样的需求:有一个数组,数组里面是一些对象,现在要把对象中的一部分字段拷贝出来,并组成一个新数组。
用ES6 提供的新特性map很容易实现。 例子如下:
var teachers = [{
id : 1,
name: "zhang",
sex: "man"
}, {
id : 2,
name: "liu",
sex: "man"
}];
var arr = teachers.map(function(item){
return{
id : item.id,
name : item.name,
age : item.age
}
});
console.log("arr is: " + JSON.stringify(arr));
打印如下:arr is: [{"id":1,"name":"zhang"},{"id":2,"name":"liu"}]
从打印可以看出把我们需要的id 和 name字段都取出来了。因为原来数组中没有age字段,在新数组中并没有age字段。