Я ищу хороший алгоритм, чтобы получить все элементы в одном массиве, которые не являются элементами в другом массиве. Итак, учитывая эти массивы:
var x = ["a","b","c","t"];
var y = ["d","a","t","e","g"];
Я хочу получить этот массив:
var z = ["d","e","g"];
Я использую jquery, поэтому я могу воспользоваться $.each()
и $.inArray()
. Вот решение, которое я придумала, но, похоже, должен быть лучший способ.
// goal is to get rid of values in y if they exist in x
var x = ["a","b","c","t"];
var y = ["d","a","t","e","g"];
var z = [];
$.each(y, function(idx, value){
if ($.inArray(value,x) == -1) {
z.push(value);
}
});
alert(z); // should be ["d","e","g"]
Вот код в действии . Есть идеи?