使用下划线链将 2 个对象的 属性 值合并到一个数组中

Merge property values of 2 objects into an array using underscore chain

我有以下内容:

a = {x:1, y:3, w:4}
b = {c:2, d:3}

我想获取这些对象的所有值,只迭代一次。

result = [1, 3, 4, 2, 3]

我有以下解决方案,但它有多个迭代。

result = _.chain(a).values().union(_.values(b)).value();

我想避免使用“_.values(b)”并使用来自 a.

的相同链来执行此操作

我也试过这个,但是不能正常工作:

result = _.chain({}).extend(a,b).values().value();

怎么样。

var a = {x:1, y:3, w:4},
    b = {c:2, d:3};

result = _.values(_.extend(a,b));

如果您打算链接,那么

_.chain([a, b])   .         // [ { x: 1, y: 3, w: 4 }, { c: 2, d: 3 } ]
    map(_.values) .         // [ [    1,    3,    4 ], [    2,    3 ] ]
    flatten()     .         // [      1,    3,    4,        2,    3   ]
    uniq()        .         // [      1,    3,    4,        2         ]
    value()