javascript – 从一个数组中删除字符串(如果存在于另一个数组中)

这是一个相当基本的问题,但我正在寻找一个最佳解决方案.我有2个javascript字符串数组.让我们说

A: ["Stark", "Targaryen", "Lannister", "Baratheon"]
B: ["Greyjoy", "Tyrell", "Stark"]

由于“Stark”重复,我想从数组A中删除它,我的结果应该是(保留排序)

A: ["Targaryen", "Lannister", "Baratheon"]

我真的不关心第二个数组B.核心javascript或jQuery中有什么东西可以帮助我吗? PS:不要使用IF语句发布嵌套for循环.可能更聪明的东西:)

最佳答案
一个完整的jquery解决方案:

var a = ["Stark", "Targaryen", "Lannister", "Baratheon"];
var b = ["Greyjoy", "Tyrell", "Stark"];

var result = $.grep(a, function(n, i) {
    return $.inArray(n, b) < 0;
});

alert(result);​

转载注明原文:javascript – 从一个数组中删除字符串(如果存在于另一个数组中) - 代码日志