被困在这一段时间了.
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(),但我无法让它完全转换
我有一个数组数组,需要成为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)