zoukankan      html  css  js  c++  java
  • javascript剔除数组重复元素的简单方法

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

    (1)简单版
    1 var array = ['测试','学习','测试'];
    2 var object = {};
    3 for(var i = 0, length = array.length; i < length; i++){
    4     object[array[i]] = i;
    5 }
    6 for(var property in object){
    7     console.log(property);
    8 }
      firefox输入结果为:学习、测试。总结:该方法虽简单,但输出结果的顺序随机。如上可能是“测试、学习”。
     
    (2)改进版
     1 var array = ['测试','学习','测试'];
     2 var temp = [];
     3 var result = [];
     4  
     5 var object = {};
     6 var j = 0;
     7 for(var i = 0, length = array.length; i < length; i++){
     8     object[array[i]] = i;
     9 }
    10 for(var property in object){
    11    temp[object[property]] = property;
    12 }
    13 for(i = 0, length = temp.length; i < length; i++){
    14    if(temp[i]){
    15      result[j++] = temp[i];
    16    }
    17 }
    总结:该方法可确保数组重复值时后面元素覆盖前面元素,但需3*n次循环。
  • 相关阅读:
    0302思考并回答一些问题
    0104 自下而上
    1203 有穷自动机的构造
    11 10我的评论
    1029 C语言文法翻译(2)
    1014 对编译程序的心得与总结
    我们小组的编译程序
    0921 词法分析程序
    0909 关于编译原理的思考
    数据库设计之数据库设计三大范式
  • 原文地址:https://www.cnblogs.com/bender/p/3360372.html
Copyright © 2011-2022 走看看