js选取对象中的部分属性和值组成新对象

在实际的开发过程中,经常有一种场景,就是后台接口返回一个大的对象集合,但是我们只需要其中的几个属性和对应的值,组成新的对象。常规做法是通过循环来实现的。

使用for of循环实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var arr=[
{
name:"张三",
age:28,
sex:"男"
},
{
name:"李四",
age:18,
sex:"女"
},
];

var newArr=[];
for(var item of arr){
newArr.push({
name:item.name,
sex:item.sex
})
}
console.log(newArr)

这种方式虽然可以,但是总感觉不是很简洁

使用ES6解构赋值来实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var arr=[
{
name:"张三",
age:28,
sex:"男"
},
{
name:"李四",
age:18,
sex:"女"
},
];
var newArr=[];
for(var item of arr){
var {name,sex}=item
newArr.push({name,sex})
}
console.log(newArr)

上一篇
利用filter实现数组去重 利用filter实现数组去重
12345var arr=[1,2,2,3,3,4,1,5];var newArr=arr.filter((item,index,array)=>{ return index==array.indexOf(item) 
2017-02-20 刘赛
下一篇
es6新版教程3-解构赋值 es6新版教程3-解构赋值
数组的解构赋值以前,为变量赋值,我们只能直接赋值,如下代码123let a=1;let b=2;let c=3; 而现在,可以用解构赋值的方式来赋值1234let [a,b,c]=[1,2,3]console.log(a);//1conso
2017-01-15