不要for循环。。
回复 (13)
D
找到了 concat
M
引用 daileimail找到了 concat
@daileimail 你拼出来的是123245. 不消重复值
Y
参考 lodash 里面 union api。
W
先concat 再去重
L
或者用underscore的_.union
T
const a = [1, 2, 3];
const b = [2, 4, 5];
const c = [...a, ...b];
console.log(c);
B
ES6 的 Set 结构就是干这个的。
let s = new Set([1, 2, 3, 2, 4, 5]);
console.log(s) // Set{1, 2, 3, 4, 5}
console.log(typeof s) // object
console.log(Array.isArray(s)) // false
console.log(Array.isArray(Array.from(s))) // true
Set 结构接受一个数组做参数,生成的是一个 Set 对象,然后用 ES6 的 Array.from() 把它转成数组。
Node.js 已经源生支持 Set 和 Array.from():https://nodejs.org/en/docs/es6/ (其实就是V8支持了,上面这段代码把 let 换成 var 后在 Chrome Console 中就可以跑出来)
J
先做字典,将两个array中各个索引的值作为key遍历一遍,然后直接遍历这个object的key封装成一个array,最后排序。
D
引用 brickyangES6 的 Set 结构就是干这个的。 Set 结构接受一个数组做参数,生成的是一个 Set 对象,然后用 ES6 的 Array.from() 把它转成数组。 Node.js 已经源生支持 ...
这个确实是语言级别的支持,好!@brickyang underscore或者lodash都有对应的union方法
C
B
@captainblue2013 已经内置支持 https://nodejs.org/en/docs/es6/
D
好吧 看大家这么热情,我最后采用的方案是:
var result = [1,2,3,4]
result = result.concat([2,3,4,5]);
var set = new Set(result);
var array = Array.from(set);
参与回复
登录后即可参与回复。登录