使用underscore.js从两个数组中找到A-B

3

我需要在Javascript中从数组中筛选出特定的元素,想要使用underscore.js来实现这个功能。由于我对它不熟悉,需要一些帮助。请看下面的代码,我需要找到A \ B并将结果分配给C。underscore.js有没有任何方便的方法来完成这个任务?

function testUnderScore(){
    alert("underscore test");
    var a = [84, 99, 91, 65, 87, 55, 72, 68, 95, 42];
    var b = [ 87, 55, 72,42 ,13];
    var c = [];

    alert(c);
}

我刚刚发现,c= _.without(a, b); 将产生 A-B 的结果,我还会检查下面的答案并接受它们。 - Tito
1
注意:在文本中最好使用正确的语法 A \ B - Kijewski
3个回答

20

这与 _.without(a, b); 不同吗? - Tito
@tito .without() 接受一个数组作为第一个参数,然后是整数依次排列,考虑到你当前的情况,可能不是你需要的。 - Andreas Wong

2
我必须找到A-B并将结果分配给C。underscore.js有没有方便的方法可以做到这一点?
是的,你可以使用`difference`方法。[查看文档]
var c = _.difference(a, b);

对象未找到?_.diff 存在方法存在吗? - Tito
2
@tito:在最新版本中,使用difference代替diff。他们已经更改了方法名称。 - Sarfraz

0

这样怎么样:

var a = [1, 2, 5, 6], b = [6], c;

c = a.filter(
    function (aItem) {
        return !(~b.indexOf(aItem));
    }
);

console.log(c);

​ ​


抱歉,已修复错误;在(-1)上~返回0,因此indexOf是假值((-1)不是假值)。 - Mateusz Charytoniuk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接