`

hasOwnProperty实现剔除数组中重复项

 
阅读更多
hasOwnProperty是用来判断一个对象是否有你给出名称的属性或对象。
需要注意的是,此方法无法检查该对象的原型链中是否具有该属性,该属性必须是对象本身的一个成员。
格式如下: object.hasOwnProperty(proName);

判断一个对象是否包含自定义属性而不是原型链上的属性,我们需要使用继承自Object.prototype的hasOwnProperty方法。

-----------------------------------------------------

利用hasOwnProperty,我们可以实现剔除数组中重复项:
/**
 * 针对字符串或者数字数组,剔除数组中重复项("123"与123看做相同)
 */
function removeDuplicates(arr){
    var i, len=arr.length;
    var array=[], obj={};
    for(i=0; i<len; i++){
        if(!obj.hasOwnProperty(arr[i])){
            array.push(arr[i]);
            obj[arr[i]] = true;
        }
    }
    return array;
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics