使用lodash的数组内联盟

use*_*008 5 javascript arrays node.js promise lodash

如何使用lodash将数组合并到数组中?

例如:

输入:

var x = [ [1,2,3,4], [5,6,7], [], [8,9], [] ];
Run Code Online (Sandbox Code Playgroud)

预期产量:

x = [1,2,3,4,5,6,7,8,9];
Run Code Online (Sandbox Code Playgroud)

目前我的代码执行以下操作:

return promise.map(someObjects, function (object)) {
    return anArrayOfElements();
}).then(function (arrayOfArrayElements) {
    // I tried to use union but it can apply only on two arrays
    _.union(arrayOfArrayElements);
});
Run Code Online (Sandbox Code Playgroud)

std*_*b-- 6

使用apply方法将数组值作为参数传递:

var union = _.union.apply(null, arrayOfArrayElements);
Run Code Online (Sandbox Code Playgroud)

[ https://jsfiddle.net/qe5n89dh/ ]


use*_*008 3

对我有用的答案,所有其他答案都有效,但是当我检查其他帖子时,他们只是使用了 loadash。我不知道帖子中提供的所有答案使用的最佳语法是什么。现在使用以下方法

_.uniq(_.flatten(x)); // x indicates arrayOfArrayObjects
// or, using chain
_(x).flatten().uniq().value();
Run Code Online (Sandbox Code Playgroud)

感谢大家的回答。:)