2016-07-01 21 views
-1

オブジェクトを含む2つの配列でangular.equalsを使用したいと考えていますが、効率を上げるために、各オブジェクト内の単一のidトークンに基づいて比較したいだけです。これをAngularで行うにはどうすればよいでしょうか?オブジェクト内の1つのキーに基づく角の等しい


アレイA1 = [OBJ1、OBJ2、OBJ3]と アレイA2 = [OBJ4、OBJ5、obj6]を実施例を得ました。

私はA1 = A2は、あなたが出て抽出するために、マップパターンを使用することができますobj1.id = obj4.id、およびobj2.id = obj5.idとobj3.id = obj6.id

+0

プロパティの値を比較するだけです。あなたが具体的に何をしようとしているかについての詳細がなければ、他に誰も助けることはできません。 [ask]をお読みください – charlietfl

+1

配列は大括弧で囲まれた '[]'で定義されています。中括弧 '{}'ではありません。 – georgeawg

答えて

0

場合と言いたいです比較するid、およびidリストが同じかどうかを判断します。

function compareById(a, b) { 
    var aIds = a.map(function(x) { return x.id; }).unique().sort(); 
    var bIds = b.map(function(x) { return x.id; }).unique().sort(); 

    return aIds.length == bIds.length && 
      aIds.every(function(e,i) { return bIds.indexOf(e) == i; }); 
} 
関連する問題