कैसे देखें कि किसी सरणी में 2 या अधिक तत्व हैं जो समान हैं? [डुप्लिकेट]
मेरे पास एक सरणी है, और मैं यह जांचना चाहता हूं कि सरणी के किसी भी तत्व को डुप्लिकेट किया गया है या नहीं।
["item1", "item2", "item3"] //false All the items are unique
["item1", "item2", "item1"] //true There are 2 of the same items.
जवाब
2 jfriend00
एक सरल तरीका एक का उपयोग करना है Set
।
function doesContainDups(array) {
let set = new Set(array);
return set.size !== array.length;
}
console.log(doesContainDups(["item1", "item2", "item3"]));
console.log(doesContainDups(["item1", "item2", "item1"]));
1 BenBradshaw
यदि सरणी केवल तारों से भरी हुई है, तो आप एक सेट का उपयोग कर सकते हैं। सरणी से एक सेट बनाएं, फिर सरणी आकार की तुलना सेट आकार से करें। यदि वे समान हैं, तो वे अद्वितीय हैं। अगर वे अलग हैं, वहाँ एक नकली है। ये रहा एक सरल उदाहरण।
const arr1 = ["item1", "item2", "item3"];
const arr2 = ["item1", "item2", "item1"];
const setFromArr1 = new Set(arr1);
const setFromArr2 = new Set(arr2);
const arr1AllUnique = arr1.length === setFromArr1.size;
const arr2AllUnique = arr2.length === setFromArr2.size;
console.log(arr1AllUnique);
console.log(arr2AllUnique);
Haytam
यहां यह जांचने का एक सरल तरीका है कि किसी सरणी में किसी विशिष्ट आइटम के डुप्लिकेट शामिल हैं।
उपयोग: containsDuplicateOf(yourArray, "item1")
function containsDuplicateOf(array, item) {
for (let i = 0; i < array.length; i++) {
const current = array[i];
let count = 0;
for (let j = 0; j < array.length; j++) {
if (array[j] === current)
count++;
if (count > 1) return true;
}
}
return false;
}