如何使用javascript / jquery查找重复项,计算数组中的元素

时间:2017-07-27 09:01:07

标签: javascript jquery html arrays

我有一个HTML格式的表单。在这种形式中,我可以构建目录首选项。 当我完成后,我可以单击“保存”按钮并构建下一个按钮。结果是保存在数组中。

如果我的数组中有多个已保存的目录(sku =库存单位),则可能存在一些重复项。如何删除重复项并对其进行计数(即使存在重复,数量也应该保留)?

Jsfiddle

Array(Array(
      0:5016s18gercol, //sku(stock keeping unit)
      1: 100,          //quantity
      2: 5017ext10002, //extra sku for extra costs(cataloge in color)
      3: 1
      ),
     Array(
      0:5016s43gerbw, //sku
      1: 100,         //quantity
      2: 5017ext10001,//extra sku for extra costs(catalog own cover)
      3: 1            //quanitity extra costs
     ),
     Array(
      0: "5016s43gercol" //sku 
      1: "400"           //quantity
      2:"5017ext10001"   //extra sku (own cover)
      3:"1"              //quantity sku
      4:"5017ext10002"   //extra sku (in color)
      5:"1"              //quantity sku
     )
 )

这就是我得到的。它应该是这样的:

array(5016s18gercol,
500,
5017ext10002,
2,
5017ext10001,
2)

每个sku都是独一无二的,所以我不能拥有两个相同的sku's。如果有多个,我必须计算它们。

1 个答案:

答案 0 :(得分:0)

使用array.prototype.maparray.prototype.some

var values = [
    { name: 'someName1' },
    { name: 'someName2' },
    { name: 'someName4' },
    { name: 'someName2' }
];

var valueArr = values.map(function(item){ return item.name });
var isDuplicate = valueArr.some(function(item, idx){ 
    return valueArr.indexOf(item) != idx 
});
console.log(isDuplicate);