如何实现去除数组中重复项并计数

1.    在做pos机中经常会用到去重,首先建立一个空的对象,用来存放商品编码这个键和数量这个值,用for循环遍历inputs这个数组,看inputs[i]是不是在空的对象里,如果不在就把它存放在这个对象里并为此赋值为1,如果在则数量加1,具体程序如下:
       function  get_shopping_count(inputs){
                  var   shopping_count={};
          for(var i=0;i                  if(  inputs[i] in shopping_count){
                  shopping_count[inputs[i]]++;   //数量加一
        }else{
                   shopping_count[inputs[i]]=1;   // 为对象增加一个属性并赋初值1
               }
          }
          return shopping_count;
       }

  注意: 判断某个属性在不在对象里边用 in

2.   js 去除数组中的重复值

   <script>
         var array=[2.3,2.3,"a","b","b",true,true,true,false,1,0,undefined,null];  
         for(var i=0;i<array.length;i++){  
              for(var j=i+1;j<array.length;j++){  
                   if(array[j]===array[i]) {  
                         array.splice(j,1);  
                         j--;  
                   }         
             }
         }

3.   splice 定义和用法
            splice() 方法用于插入、删除或替换数组的元素。
       语法:
           arrayObject.splice(index,howmany,element1,.....,elementX)参数 描述
     index 必需,规定从何处添加/删除元素,该参数是开始插入和(或)删除的数组元素的下标,必须是数字。
     howmany 必需,规定应该删除多少元素。必须是数字,但可以是 "0"。
如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素。
     element1 可选,规定要添加到数组的新元素。从 index 所指的下标处开始插入。
     elementX 可选。可向数组添加若干元素。
     返回值
     如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。
     说明
      splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。

猜你喜欢

转载自2806814127.iteye.com/blog/2298190