gpt4 book ai didi

javascript - 如何使用 javascript 从 URL 列表中删除重复域

转载 作者:行者123 更新时间:2023-11-30 11:53:31 26 4
gpt4 key购买 nike

我遇到了一个相当简单的问题 - 使用 javascript 从 URL 列表中删除重复域。

这是我目前正在做的事情:我有一个名为“list”的数组,其中包含 url 列表。我致力于提取域,并将它们放入一个名为“域”的新数组中。

然后我使用两个 for 循环遍历整个列表并检查重复域。如果域匹配,我将重复的拼接出来。但它似乎删除了太多,我很确定我做错了什么。有人可以告诉我我做错了什么,或者建议一种更简单/更好的方法吗?

for (i=0; i<list.length; i++) {

for (j=i+1; j<list.length; j++) {

if (domain[i] == domain[j]) {

console.log('REMOVING:');
console.log(i + '. ' + list2[i]);
console.log(j + '. ' + list2[j]);
console.log(domain[i]);
console.log(domain[j]);

list.splice(j,1);

}
}
}

这不是“如何从数组中删除重复项”的问题。因为我有一个 URL 列表,需要检查并删除重复的“域”。所以假设我有 4 个来自 youtube 的 URL,我只需要保留第一个并删除其余的。

最佳答案

ES5:filter数组,并且仅当当前项的索引等于其在数组中的索引时才包含:

list.filter(function(elem, pos, arr) {
return arr.indexOf(elem) === pos;
});

ES6:使用 Set

const uniqueDomains = [ ...new Set(list) ];

或者如果您不能使用展开运算符:

new Set(list).toJSON()

关于javascript - 如何使用 javascript 从 URL 列表中删除重复域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38775278/

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