配列をマージして、一意の値だけを 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 Hereを作成できます
あなたのプラグイン
(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);
});
または、カスタム プラグインを使用して個別の値を 1 つの呼び出しで 1 つの配列にマージする場合は、ここで次の Fiddleを実行できます。
// 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];