gpt4 book ai didi

javascript - 删除所选选项中的重复元素

转载 作者:行者123 更新时间:2023-12-02 15:05:40 25 4
gpt4 key购买 nike

我有两个选择的选项:第一个是 contact,第二个是 contact2。第一个选择选项中的元素将添加到第二个列表中。下面的函数让我可以毫无问题地添加所有元素,但我只想添加具有唯一 id 的元素,因为第一个列表包含许多重复的选项 id。

function addAllElement(object){
contacts = document.getElementById('contact');
long = object.options.length;
for (i=0;i<long;i++){
txt = object.options[i].text;
valor = object.options[i].value;
idd=object.options[i].id;
addOption(contact2,i,idd,txt,valor);
}
}

这是具有重复 ID 的列表示例

<select name="contacts" id="contacts" multiple="">
<option value="7147582,2" id="77">Test</option>
<option value="7189466,2" id="62">test2</option>
<option value="7" id="62">contact3</option>
<option value="72" id="64">ERRZERZE, zerzerze</option>
<option value="71" id="62">contact 5</option>
<option value="72y" id="001">contact 6</option>
</select>

正如你看到许多具有相同id的元素,并且预测结果是一个没有重复元素的列表

最佳答案

我将创建一个数组来存储每次迭代的每个 id。如果 id 已创建,则不要将其添加到第二个 select。以这种方式重做您的函数:

function addAllElement(object) {
var i, valor, idd, txt;
var long = object.options.length;
var ids = [];
for (i = 0; i < long; i++) {
txt = object.options[i].text;
valor = object.options[i].value;
idd = object.options[i].id;
if (ids.indexOf(idd) == -1) {
addOption("contact2", i, idd, txt, valor);
ids.push(idd);
}
}
}

关于javascript - 删除所选选项中的重复元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35133652/

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