首页 > 代码库 > 用对象[属性]表示属性值 新数组记录字符在结果数组中是否出现
用对象[属性]表示属性值 新数组记录字符在结果数组中是否出现
// 最简单数组去重法
function
unique1(array){
var
n = [];
//一个新的临时数组
//遍历当前数组
for
(
var
i = 0; i < array.length; i++){
//如果当前数组的第i已经保存进了临时数组,那么跳过,
//否则把当前项push到临时数组里面
if
(n.indexOf(array[i]) == -1) n.push(array[i]);
}
return
n;
}
//对象算法
Array.prototype.unique3 = function(){
//1.创建一个新的数组存放结果
var res = [];
//2.创建一个空对象
var json = {};
//3.for循环时,每次取出一个元素与对象进行对比,如果这个元素不重复,则把它存放到结果数组中,同时把这个元素的内容作为对象的一个属性,并赋值为1,存入到第2步建立的对象中。
for(var i = 0; i < this.length; i++){
if(!json[this[i]]){
res.push(this[i]);
json[this[i]] = 1;
}
}
return res;
}
var arr = [112,112,34,‘你好‘,112,112,34,‘你好‘,‘str‘,‘str1‘];
alert(arr.unique3());
用对象[属性]表示属性值 新数组记录字符在结果数组中是否出现
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。