我有一个HTML格式的表单。在这种形式中,我可以构建目录首选项。 当我完成后,我可以单击“保存”按钮并构建下一个按钮。结果是保存在数组中。
如果我的数组中有多个已保存的目录(sku =库存单位),则可能存在一些重复项。如何删除重复项并对其进行计数(即使存在重复,数量也应该保留)?
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。如果有多个,我必须计算它们。
答案 0 :(得分:0)
使用array.prototype.map和array.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);