我試圖過濾或從對象數組中刪除一些重複的對象。這是我的。在數組中過濾重複的對象並通過兩個屬性過濾
var itemsToFilter = [];
var filteredItems = [];
var items = [];
function filterRepeated (data) {
_.forEach(data, function(e) {
if(e.readingTime) {
itemsToFilter.push(e);
} else {
items.push(e);
}
});
filteredItems = _.uniq(itemsToFilter, 'id');
items.push.apply(items, filteredItems);
return items;
}
我用這個函數做什麼是分離一些對象,如果他們有屬性readingTime。數組itemsToFilter包含重複的對象,我試圖按id和readingTime過濾這樣的東西。
var a = itemsToFilter.filter(function(n) {
console.log(n);
if(n['id'].indexOf() !== -1 && n['readingTime'].indexOf() !== -1) {
console.log(n);
//return true;
} else {
return false;
}
});
但它什麼也沒做。
我試圖篩選對象的格式:
[{time: 1450672782667, sequence_number: 55240001, readingTime: 1450669920000, id: "56572093c007a1164a02a78c", tipo: "Posición actualizada"}, {time: 1450672782667, sequence_number: 55240001, readingTime: 1450669920000, id: "56572093c007a1164a02a78c", tipo: "Posición actualizada"}]
感謝。
你能看到控制檯中的任何錯誤嗎? –
不,只是返回一個空數組。 – Diego
你的問題不清楚。你到底在做什麼?試圖過濾重複的對象,或過濾具有'readingTime'屬性的對象,或者您是否想過濾'readingTime'具有相同值的對象?在你的例子中,數組只包含一個對象,其中'readingTime'定義了兩次。請解釋,謝謝。 – DavidDomain