鑑於此示例,如何將過濾器找到的每個結果推送到obj中,而不是爲過濾器找到的每個項目重置一次?將對象推入過濾的JavaScript數組
過濾器抓取過濾器的第一個結果並將obj [0]設置爲該值。假設我有來自過濾器的10個結果,我如何將值附加到obj而不是將其設置爲單個值。我想我會需要使用推。
var obj = array.filter(function (obj) {
return obj.name === name;
})[0];
鑑於此示例,如何將過濾器找到的每個結果推送到obj中,而不是爲過濾器找到的每個項目重置一次?將對象推入過濾的JavaScript數組
過濾器抓取過濾器的第一個結果並將obj [0]設置爲該值。假設我有來自過濾器的10個結果,我如何將值附加到obj而不是將其設置爲單個值。我想我會需要使用推。
var obj = array.filter(function (obj) {
return obj.name === name;
})[0];
您應該簡單地從過濾結果中刪除零索引;
var obj = array.filter(function (obj) {
return obj.name === name;
}); //now obj has all the filtered items
「的過濾器()方法創建與通過由提供的功能實現的測試中所有元素的數組」。 MDN Docs
但,如果要追加/串聯filetered結果到另一個現有陣列,那麼你正在尋找.concat
功能
obj.concat(array.filter(function (obj) {
return obj.name === name;
})); //obj is an existing array
嗯,我感到很傻,但謝謝你! – GoBeavs 2014-12-03 19:36:47
我很高興這有助於 – renatoargh 2014-12-03 19:39:21
你能描述的問題嗎? – 2014-12-03 19:15:54
通過不只是在過濾結果中的第一項? – 2014-12-03 19:16:54
我添加了更多描述。 – GoBeavs 2014-12-03 19:25:25