javascript - 提交可变数量的数组以强调 _.difference

标签 javascript underscore.js

我有可变数量的数组,我想提交给 underscore.js _.difference .如何将它们提交给此功能?

var arrays = [[1,2,3], [3,4,5], [6,3,6]];
var result = _.difference.apply(null, arrays);

似乎有效。但我不确定这是否是 apply() 的用途。有没有更好的方法?

最佳答案

您的解决方案看起来不错,但我会将上下文更改为 Underscore 对象本身:

var result = _.difference.apply(_, arrays);

它的工作原理是一样的,因为 this keyword is not used inside the method , 但最好保留上下文。


E. G。当你在自己的 mixin 中使用 this 时,不保留上下文会破坏它:

_.mixin({
  getVersion: function() {
    return this.VERSION;
  }
});

_.getVersion();               // '1.4.4'
_.getVersion.apply(null, []); // undefined
_.getVersion.apply(_, []);    // '1.4.4'

关于javascript - 提交可变数量的数组以强调 _.difference,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19842808/

相关文章:

javascript - 使用 css 或 html5 的置换贴图

javascript - 使用 jQuery 按第一个日期列对 html 表行进行排序

javascript - 如何将按钮的 php 变量 onclick 作为参数发送给 javascript 函数

javascript - 多次下划线去抖动调用

javascript - 如何根据不同的键对数组进行排序

javascript - ajax POST 查询返回 null

javascript - 在数组中分组相同的值

Javascript 数据模型,交叉引用

javascript - 更新 javascript/jquery 中的对象数组,其中字段是特定值

underscore.js - 为什么 _.escape 会修改 Underscore.js 中的/字符?