Possible Duplicate:
Easiest way to find duplicate values in a JavaScript array
I am looking to find if two values are the same in an Array. I have written the following code:
function validatePassTimeFields(passtimes) {
var success = true;
var length = passtimes.length;
var hashMap = new Object();
for (var j=0; j<length; j++) {
if(hashMap[passtimes[j].value]==1) {
success = false;
alert("Duplicate Found");
break;
}
hashMap[passtimes[j].value]=1;
}
return success;
}
I am new to Javascript, so I tried using HashMap like to find if there is any duplicate. IS it the best way of finding a duplicate in JavaScript? or I can optimize it?
Your function is already very good, apart from the issue that it only works for arrays with strings or numbers. For a more difficile approach to care also about objects see this answer. I don’t think that matters for you as you have an explicit and restricted use case (checking identity by the
valueproperty).However, some points I’d do different:
successvariable andbreakfrom the loop, but justreturnfrom the whole function.new Objectusually the shortcut object literal{}is usedhashMapto1one might usetrue; you also could omit the equality operator==and just check for the truthiness of the property. I even would use theinoperator.