我将使用一个数组键合并2个数组,使用键合并其他数组,并获取其他数组值并在最后创建最后一个数组。我在这里写了一些逻辑,但我只是把第一个数组键推,但其他数组值不能推入最终数组。所以任何人都知道如何做到那么请让我在这里。在这里,我已经用数组列出了我的代码。
这是我的第一个数组=>
var arr = ["fullName","username","biography","externalurl","followerCount","followingCount","medaiCount"];
这是我的另一个数组=>
var FinalFilterArray = [ { fullName: 'love',
username: 'lo.ve632',
biography: '',
externalUrl: '',
followerCount: 13,
followingCount: 129,
mediaCount: 0 },
{ fullName: 'abc',
username: '@abc',
biography: '',
externalUrl: '',
followerCount: 289,
followingCount: 262,
mediaCount: 0 }];
这是我的逻辑=>
var ExcelData = [];
for (var i = 0; i < FinalFilterArray.length; i++) {
console.log("f" + FinalFilterArray.length)
if (i == 0) {
ExcelData[i] = arr
}
else {
var key = [];
for (var j = 0; j < arr.length; j++) {
console.log("j " + arr[j]) if(FinalFilterArray[i] == arr[j]){key.push[FinalFilterArray[i].arr[j]]}
}
ExcelData[i] = [key]
}
}
我的预期o \ p =&gt;
[[ 'fullName',
'username',
'biography',
'externalUrl',
'followerCount',
'followingCount',
'mediaCount' ],
['love','lo.ve632','','','13','129','0'] ,
['abc','@abc','','','289','262','0']]
答案 0 :(得分:2)
finalArr = [ arr , ...FinalFilterArray.map(item => arr.map(key => item[key])) ]
如果您需要es5解决方案,请使用
finalArr = [arr].concat(FinalFilterArray.map(function(item){
return arr.map(function(key) {
return item[key]
})
})