//输入: [false, true, undefined, null, NaN, 0, 1, {}, {}, 'a', 'a', NaN] //输出:[false, true, undefined, null, NaN, 0, 1, {}, {}, 'a'] Array.prototype.uniq = function() { var result = []; //用于记录筛选后的数组 var flag = true; //用于标记是否找到NaN for (var i = 0; i < this.length; i++) { //判断是否有重复元素, 无重复元素则进行判断, result.indexOf(NaN) == -1 if (result.indexOf(this[i]) === -1) { if (this[i] != this[i]) { //NaN != NaN //查到NaN的时候将其加入数组,flag赋值false,之后再遇到NaN的时候就不用处理了 if (flag) { result.push(this[i]); flag = false; } } else { result.push(this[i]); } } } return result; } var arr = new Array(); arr = [false, true, undefined, null, NaN, 0, 1, {}, {}, 'a', 'a', NaN];
JavaScript数组去重
最新推荐文章于 2024-05-14 02:29:29 发布