underscore.js - 是否有一个函数产生一个数组,该数组是两个数组的差异?

Hca*_*tek 18 javascript underscore.js

在underscore.js中寻找一个函数,它将需要2个数组并返回一个新的唯一值数组?像_without一样的东西

_.without([0, 1, 3, 9], [1, 3]);
Run Code Online (Sandbox Code Playgroud)

我想=> [0,9]回来

看来_without的第二个arg是一个值列表,而不是一个数组.那里的任何人都知道下划线是否具有我正在寻找的特定功能?或者我可以采用exisitng数组并将其转换为函数期望的值.

谢谢,
〜在圣地亚哥

ult*_*eek 41

_.difference功能应该为您提供所需的信息:

_.difference([0, 1, 3, 9], [1, 3]); // => [0, 9]
Run Code Online (Sandbox Code Playgroud)


Ray*_*nos 15

_.without.apply(_, [arr1].concat(arr2))

[[0, 1, 3, 9]].concat([1, 3])[[0, 1, 3, 9], 1, 3];

_.without.apply(_, [[0, 1, 3, 9], 1, 3])_.without([0, 1, 3, 9], 1, 3)

你有一个非常好的_.without方法.因此,只需将数组转换为可以传递给函数的值列表.这是目的Function.prototype.apply

  • 这是不推荐使用的,应该使用_.difference (4认同)