记录史上第一次个人通过绞尽脑汁完成的数组之间的抽取和组装。
废话少说直接上代码。
this.originArr = [
{username:'pride',id_code:'123',sink:'mabe1'},
{username:'red',id_code:'234',sink:'mabe2'},
{username:'greed',id_code:'456',sink:'mabe3'},
{username:'yellow',id_code:'678',sink:'mabe4'},
{username:'purple',id_code:'890',sink:'mabe5'},
];
// 新数组,用来装数据
var newArr = [];
//通过map方法将原始数组中的每一项循环
this.originArr.map(function(item,index){
//新数组的项,用来盛放每一项中的各个参数,每次清空,这样避免改变sevm的值
var sevm = {};
//给每一项中的参数初始化并赋值
sevm['name'] = item.username;
sevm['code'] = item.id_code;
//将项放进新的数组
newArr[index] = sevm
})
最后对newArr进行输出
console.log(newArr)
结果如下
通过网友提示我将上面代码优化:
this.newArr = this.originArr.map(function(item,index){
return {name:item.username,code:item.id_code}
})
感谢。
在这个过程中我发现了之前忽略的index的作用,真的很好用。在某一程度上它的作用能替代push,例如将上面的代码改成
this.originArr.map(function(item){
var sevm = {};
sevm['name'] = item.username;
sevm['code'] = item.id_code;
newArrs.push(sevm)
})
结果一样。