2016-12-23 6 views
1

これは私のJSONレスポンスです。私はこのようなものを使ってコントローラ側から要素をスプライスすることができます。今私の従業員が同じ従業員のIDを持つことができますが、タイプが異なる状況が発生します。だから私は両方のID &タイプを比較することによって、応答からitesmを削除したいと思います。たとえば、私はId ABCとタイプDだけのemplooyeeを削除する必要があります。どのように私はそれらをスプライスすることができますどのように私は2つのパラメータに基づいたAngular JSスプライスの項目

var searchresponse = [{ 
    "items": [{ 
     "employeeId": "ABC", 
     "type": "D", 
     "alive": "Yes" 

    }, { 
     "employeeId": "ABC", 
     "type": "P", 
     "alive": "Yes" 

    }, { 
     "employeeId": "NPK", 
     "type": "D", 
     "alive": "Yes" 

    }, { 
     "employeeId": "PKN", 
     "type": "A", 
     "alive": "Yes" 
    }], 
    "more": false 
}]; 

var data1 = ["ABC"]; 
var data2 = ["D"] //- how to splice ABC also comparing the D 
var items = searchresponse[0].items; 
for (var i = items.length - 1; i >= 0; i--) { 
    if (data1.indexOf(items[i].employeeId) != -1) { 
     items.splice(i, 1); 
    } 
} 
+0

"アイテム":[{ "社員": "ABC"、 "タイプ": "D"、 "生きている": "はい" }]あなたはこのようなREPONSEが必要なのでしょうか? – jitender

+0

私はそのようなレスポンスを持っています。私は検索応答からその特定のID ABCをスプライスする必要があります – Praveen

+0

あなたは単にレスポンスを反復できますか? http://stackoverflow.com/questions/31868918/find-json-object-using-multiple-key-value-pairs-then-update-that-objects-other foreachを実行して値を確認してください –

答えて

1

を進めることができ、私は右のuを理解していれば...ちょうどif節を拡張するために、OKでしょうか?また、あなたの場合には、簡単なJavaScriptライブラリunderscore.js

var filterd=_.where(searchresponse[0].items, {employeeId: "ABC", type: "D"}); 

を使用することができarray.prototype.filter方法

var filterd =searchresponse[0].items.filter(function (item) { 
return item.employeeId == "ABC"&& item.type== "D" 
}) 

を使用して

if (data1.indexOf(items[i].employeeId) != -1 && data2.indexOf(items[i].type) != -1)

+0

これを試してみましたそれを投稿する前に:)それは働いた! – Praveen

関連する問題