我正在使用角度$過濾器從兩個字符串中取得不匹配的對象。在控制器中使用角度過濾器過濾非匹配對象
我寫下面的代碼來迭代。
angular.forEach(this.members, function (value: any, index: any) {
var person = this.$filter('filter')(this.allPersonnel, { Id: value.Member.Id })[0];
console.log(person);
this.validPerson.push(person); // Filter
});
正如你看到的我是不是不能加「不等於」條件。我試過"Id:'!value.Member.Id'"
但它正在考慮作爲字符串。
難道你們請告訴我一種方法來做到這一點。我正在使用Typescript角。
感謝您的回覆。我正在尋找邏輯來查找兩個數組中不匹配的節點。我知道如何創建自定義過濾器。我看起來像C#linq - 'var list1IDs = new HashSet(List1.Select(s => s.ID)); var results = List2.Where(m =>!list1IDs .Contains(m.ID));' –
Ahh OK。那麼最簡單的方法就是使用像Lodash這樣的庫。在那裏你有一個像https://lodash.com/docs/#differenceBy這樣的方法,你可以把你的邏輯和想要的結果。 – tomepejo
這裏是如何將Lodash導入到您的項目中http://stackoverflow.com/questions/34660265/importing-lodash-into-angular2-typescript-application。 – tomepejo