对于 JavaScript 数组去除重复项,现在有多种方法,其中一种是hash,如下:
但是该方法并不严谨,无法区分数字 1 和 字符串 '1'
if ( !hash[item + type] ) {
hash[item + type] = true;
result.push(item);
}
}
return result;
};
}
hash[item + type] = true;
result.push(item);
}
}
return result;
};
}
至少现在对5种原始数据类型的值可以准确去重了,对某些引用类型的值──数组,函数,也可以,但是对象类型──{"name": 1},{"name": 2}就没法区分了。