2017-07-27 5 views
-2

私はHTML形式です。このフォームでは、カタログ設定を作成できます。 私がそれを済ませたら、保存ボタンをクリックして次のものを作ることができます。結果は配列に保存されます。javascript/jqueryを使用して配列内の重複要素を見つける方法

私のアレイに複数のカタログ(sku = stock keeping unit)が保存されていると、重複がある可能性があります。重複を削除してカウントするにはどうすればよいですか(重複があっても数量は維持されます)。

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 
    ) 
) 

これは私が得るものです。それは次のようになります:

すべてのskuはユニークなので、私は2つの同じskuを持つことはできません。複数ある場合は数えなければなりません。

+3

あなたは配列のほかに、JavaScriptはまた、右のオブジェクトを、持っていることを認識しておりますか! –

+0

okeyどうすればオブジェクトでこれを行うことができますか? –

+0

可能な重複: - https://stackoverflow.com/a/21489705/4248328 –

答えて

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); 
関連する問題