您可以合并数组并使用 jQuery 仅保留唯一值
window.list = [2,3];
window.list = $.merge(window.list, [2,3,7,2,60]);
window.list = $.unique(window.list);
//OUTPUT: window.list = [2,3,7,60];
在这里提琴
或者,如果您想根据数组检查数组并对找到/未找到的实例进行操作。你可以在这里制作一个简单的插件Fiddle
你的插件
(function ($) {
$.fn.Contains = function(value, success, failure) {
var arr = this;
if(value instanceof Array){
$(value).each(function(i,item){
var found = $.inArray(item, arr) > -1;
if (found){
success(item);
} else {
failure(item);
}
});
}
};
})(jQuery);
然后这样称呼它:
window.list = [2,3];
$(window.list).Contains([2, 3, 6, 7], function(foundValue){
// Handle the foundValue here
alert('found: ' + foundValue);
}, function(missingValue){
// Handle the missingValue here
alert('missing: ' + missingValue);
});
或者,如果您想使用自定义插件通过一次调用将不同的值合并到一个数组,您可以在此处执行以下小提琴:
// Your plugin to merge the distinct values
(function ($) {
$.fn.MergeDistinct = function(value) {
var arr = this;
if(value instanceof Array){
$(value).each(function(i,item){
var found = $.inArray(item, arr) > -1;
if (!found) arr.push(item);
});
}
return arr;
};
})(jQuery);
// Your list of items
window.list = [2,3];
// Merge the new values without creating duplicates
window.list = $(window.list).MergeDistinct([2, 3, 6, 7]);
//OUTPUT: window.list = [2,3,6,7];