對不起,長標題問題不知道如何正確地表達我的問題。對象數組包含另一個數組的對象,需要通過包含數組的對象中的值對數組進行過濾
所以這是一個問題,我得到了一個存儲對象的數組,而在這些對象內部還有另一個帶有鍵標籤的數組,並且這個數組是用標籤填充的。
對象:
var arr = new Array;
arr[0] = {
"like": 0,
"dislike": 0,
"answer": "body",
"tags" : ["offline", "facebook"],
"comments" : []
};
arr[1] = {
"like": 0,
"dislike": 0,
"answer": "body",
"tags" : ["school", "online"],
"comments" : []
};
arr[2] = {
"like": 0,
"dislike": 0,
"answer": "body",
"tags" : ["school", "offline"],
"comments" : []
};
的[0],[1]指標respresent和ID,但在這裏,是不是真的很重要。
問題是,當我嘗試用(我知道它只是試圖篩選ARR [0]個大氣壓,但我會如此這般通過所有的指標寫一個循環)對其進行過濾:
var toFind = "offline";
var filtered = arr[0].filter(function(el) {
return el.tags === toFind;
});
console.log(filtered);
它說arr [0] .filter不是一個函數,但不知道爲什麼它認爲應該將arr [0]作爲一個函數來考慮。
當我刪除了[0]這還給一個空白陣列...
所以我的問題是我怎麼能得到一個基於標籤陣列標籤.filter功能來回饋完整的對象。因此,如果我搜索標籤「school」,它會返回arr [1]和arr [2]這些完整的對象。
希望我的問題很清楚,我提供了足夠的信息。如果你們需要更多信息,請隨時向我諮詢。或者,如果你想要我澄清的事情,只是問:)
希望你們能幫助我!
'arr.filter(X => x.tags.includes(找到相當))' – haim770
的Object.prototype中沒有一個filter()方法,這就是你用arr [0]訪問的內容。你只是想過濾ARR本身 – dgeare
謝謝你們現在的作品,現在感謝所有的快速回復!我用dgeare的解決方案!它的作品奇觀:) –