gpt4 book ai didi

javascript - 逗号分隔数组的重复检查

转载 作者:行者123 更新时间:2023-12-01 01:50:17 24 4
gpt4 key购买 nike

我正在尝试检查以下数组中的重复项,只是我想在存在重复项时返回 true 或 false。

var array = ["Saturday", "Sunday", "Monday", "Tuesday", "Saturday" ];

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

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

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

console.log(array[i]);
}
}

}

我尝试了上面的方法,它仅给出数组中一项的结果,而不是逗号分隔的结果。我如何以最佳方式为逗号分隔数组编写重复检查函数?

Array(10)
0: "test3,tier 1,test,test2
"1: "test3,tier 1,test,test2
"2: "test3,tier 1,test,test2
"3: "test3,tier 1,test,test2
"4: "test3,tier 1,test,test2
"5: "test3,tier 1,test,test2
"6: "test3,tier 1,test,test2
"7: "test3,tier 1,test,test2
"8: "test3,tier 1,test,test2
"9: "test3,tier 1,test,test2
"length: 10
__proto__: Array(0)

最佳答案

Set 中的项目将始终唯一,因为它只保留您输入的每个值的一个副本。以下是使用此属性的函数:

function hasDuplicates(iterable) {
return new Set(iterable).size !== iterable.length;
}

// Demo
var array = ["Saturday", "Sunday", "Monday", "Tuesday", "Saturday" ];
console.log(hasDuplicates(array))

// Returns True if there is duplicates
// Otherwise return false

Set(iterable).size 将返回该集合中唯一元素的计数,而 iterable.length 是原始数组中所有元素的计数。

编辑#1

要仅检查第一个项目是否有重复项,您可以使用类似的内容

var array = ["Saturday",  "Saturday", "Sunday", "Monday", "Tuesday" ];


console.log(array.indexOf(array[0] , 1) === -1 ? "No duplicates" : "Has duplicate" );

关于javascript - 逗号分隔数组的重复检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51610559/

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