gpt4 book ai didi

javascript - jquery 排除数组元素

转载 作者:行者123 更新时间:2023-11-28 18:49:23 25 4
gpt4 key购买 nike

我有一个元素数组,我想有效地维护它,随着时间的推移添加和删除元素数组。

var myElements = $('.initial');

jquery 的 merge()似乎非常适合添加项目,因为它不会创建新数组,而只是添加到现有数组中:

$.merge(myElements, $('.to-add'));

是否有等效的删除方法,也可以就地修改数组?像这样的东西:

$.exclude(myElements, $('.to-remove'));

我实际上有 DOM 元素数组,选择器仅用作示例。

最佳答案

假设您正在寻找 a 中 b 的相对补集。并且您不想在处理时创建额外的对象。该函数适用于普通数组和 jQuery 集。(因此使用 $.each、$.inArray 而不是 Array.prototype.forEach Array.prototype.indexOf)

我编写了一个符合您要求的函数。

$.exclude = function(a,b) {
var idx;
$.each(b, function(i, val) {
while((idx = $.inArray(val, a)) !== -1) {
a.splice(idx, 1);
}
})
return a;
}

在这里测试这段代码 https://jsfiddle.net/happyhj/uwd4L1dm/8/

你可以像这样使用。

$.exclude(myElements, $('.to-remove'));

关于javascript - jquery 排除数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34735278/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com