Javascript数组比较

Javascript arrays compare

本文关键字:比较 数组 Javascript      更新时间:2023-09-26

我在vmware orchestrator中有两个字符串数组,a和b。

我想将a中的所有字符串(除了在b中也找到的字符串)推入新的第三个数组c中。所以b是一个包含排除项的数组。

我从这个网站找到了一些代码,我尝试了,但它没有按预期工作。

var c = new Array();
if (b.length == 0) {
    var c = a
} else
    for (i = 0; i < a.length; i++) {
    for (j = 0; j < b.length; j++) {
        if (b[j] != a[i]) {
            c.push(a[i]);
        }
    }
}

所以在上面的例子中。如果b不包含任何内容,则继续使ca相同。

a包含三个值Test、Test2和Test3。

如果b包含Test,则将除此之外的所有内容添加到c中。(c = Test2 and Test3)

现在问题来了。如果b包含Test和Test2,则不排除它们,相反,c将包含Test, Test2, Test3和Test3。我想在这个阶段只包含Test3

首先这是javascript。现在请参见下面的解决方案。不要盲目地推动元素。相反,在整个数组中导航以确保没有匹配项。

var a = ["Test","Test2","Test3"];
var b = ["Test","Test2"];
var c = new Array();
if (b.length == 0) {
var c = a;
} else {
for (var i = 0; i < a.length; i++) {
    var count = 0;
    for (var j = 0; j < b.length; j++) {
        if (b[j] == a[i]) {
            count++; 
        }
    }
    if(count == 0) {
        c.push(a[i]);
    }
}
}
alert(c);