小编jha*_*on1的帖子

对象数组的3维数组

被困在这一段时间了.

let employees = [
 [
  ['firstName', 'Joe'],
  ['lastName', 'Blow'],
  ['age', 42],
  ['role', 'clerk']
 ],
 [
  ['firstName', 'Mary'],
  ['lastName', 'Jenkins'],
  ['age', 36],
  ['role', 'manager']
 ]
]
Run Code Online (Sandbox Code Playgroud)

产量:

[
    {firstName: 'Joe', lastName: 'Blow', age: 42, role: 'clerk'},
    {firstName: 'Mary', lastName: 'Jenkins', age: 36, role: 'manager'}
]
Run Code Online (Sandbox Code Playgroud)

如何改变这一点?我已经尝试过三重嵌套for循环,map/reduce和shift(),但我无法让它完全转换

javascript arrays loops multidimensional-array

7
推荐指数
1
解决办法
221
查看次数

使用Reduce/Map的一组唯一值的数组数组

我有一个数组数组,需要成为1个唯一值数组.

[1, 3, 2], [5, 2, 1, 4], [2, 1]
Run Code Online (Sandbox Code Playgroud)

我想使用reduce/map来解决问题,但它似乎没有用.我已经用嵌套for循环解决了这个问题,如下所示:

function uniteUnique(arr) {
  var args = Array.from(arguments);
  var arr = [];

  for (var i = 0; i < args.length; i++) {
    for (var j = 0; j < args[i].length; j++) {
      if (!arr.includes(args[i][j])) {
        arr.push(args[i][j]);
      }
    }
  }
  return arr;
} 
Run Code Online (Sandbox Code Playgroud)

现在我尝试使用reduce/map解决问题,但没有得到正确的解决方案,如下所示:

function uniteUnique(arr) {
  var args = Array.from(arguments);
  return args.reduce(
    (arr, a) => a.map(n => (!arr.includes(n) ? arr.push(n) : n)),
    []
  );
}
console.log(uniteUnique([1, 3, 2], [5, 2, …
Run Code Online (Sandbox Code Playgroud)

javascript reduce

-2
推荐指数
1
解决办法
80
查看次数