js数组去重有经典的 几种方法
但当数组元素是对象时,就不能简单地比较了,需要以某种方式遍历各值再判断是否已出现。...因为:
1.如果是哈希判断法,对象作哈希表的下标,就会自动转换成字符型类型,从而导致所有元素都相等,这时判断方法不再有意义。...一般最后数组就只剩一个
2.如果是直接比较法,则因为对象在内存中是按引用访问的,属性值相同的对象也不会相等,简单的直接判断不再有意义。...一般最后数组还是原样
所以就需要进行值的比较
当然了,也可以换着法来将相应对象转为字符串(不是默认的那种[object Object])
举个例子:
var array = [
{a:1,b:2...array = [
{a:1,b:2,c:3,d:4},
{a:11,b:22,c:333,d:44},
{a:111,b:222,c:333,d:444}
];
//将对象元素转换成字符串以作比较