嵌套数组操作

Somedev

我有以下两个数组:

var val = [['aa', 'ab', 'ac'], ['bb', 'bc', 'bd']];
var key = ['item1', 'item2', 'item3'];

通过使用任何JavaScript逻辑,我想以以下格式获取一个新数组。

[
  {item1: 'aa', item2: 'ab', item3: 'ac'},
  {item1: 'bb', item2: 'bc', item3: 'bd'}
]

我尝试使用.forEach并.map()实现了这一点,但是以某种方式我无法做到这一点。

这是我尝试的示例代码。https://plnkr.co/edit/oKyjNsBu3wrRin7TaCIb?p=preview

var val = [['aa', 'ab', 'ac'], ['bb', 'bc', 'bd']];
var key = ['item1', 'item2', 'item3'];
var newArr = val.map((elm,i)=>{
  return {[key[i]]: elm[i]}
})
console.log('newArr', newArr);

我需要以下输出。

[
  {item1: 'aa', item2: 'ab', item3: 'ac'},
  {item1: 'bb', item2: 'bc', item3: 'bd'}
]
穆罕默德·乌斯曼(Mohammad Usman)

您可以使用.map().reduce()方法来获得所需的输出:

const vals = [['aa','ab','ac'],['bb','bc','bd']];
const keys = ['item1','item2','item3'];

const result = vals.map((val) => keys.reduce((r, c, i) => (r[c] = val[i], r), {}));

console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章