您的位置:首页 > Web前端 > JavaScript

javascript剔除数组重复元素的简单方法

2013-10-09 23:40 597 查看
现有数组var array = ['测试','学习','测试'];其中array[0]与array[2]值相同,需剔除重复值并输出。依据javascript对象不能有相同键以及相同键值覆盖的特点。实现如下:

(1)简单版

var array = ['测试','学习','测试'];
var object = {};
for(var i = 0, length = array.length; i < length; i++){
object[array[i]] = i;
}
for(var property in object){
console.log(property);
}


  firefox输入结果为:学习、测试。总结:该方法虽简单,但输出结果的顺序随机。如上可能是“测试、学习”。

(2)改进版

var array = ['测试','学习','测试'];
var temp = [];
var result = [];

var object = {};
var j = 0;
for(var i = 0, length = array.length; i < length; i++){
object[array[i]] = i;
}
for(var property in object){
temp[object[property]] = property;
}
for(i = 0, length = temp.length; i < length; i++){
if(temp[i]){
result[j++] = temp[i];
}
}


总结:该方法可确保数组重复值时后面元素覆盖前面元素,但需3*n次循环。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: