我有两个数组,都键入string:

var correctAnswers = ["0", "1", "2", "3", "4", "5"];


第二:

var finalArray = ["0", "1", "4", "3", "5", "2"];


我想比较它们,如果不匹配,则首先提取元素并将其推入另一个数组,如下所示:

finalArray = ["0", "1", "3"];

var toChange = ["4", "5", "2"];

最佳答案

您也可以使用jQuery map方法:

var toChange = $.map(finalArray, function(v, k){
    return correctAnswers[k] !== v ? v: null;
});

finalArray = $.map(finalArray, function(v, k){
    return correctAnswers[k] === v ? v: null;
});


DEMO

或使用array.prototype.filter()

var toChange = finalArray.filter(function(v, k){
    return correctAnswers[k] !== v;
});

finalArray = finalArray.filter(function(v, k){
    return correctAnswers[k] === v;
});


filter DEMO

09-25 16:55