簡體   English   中英

使用forEach過濾數組項

[英]Filter array items using forEach

我在forEach中有一個關於過濾器數組的問題。 所以我想使用外部變量filterKey過濾(比示例更大)數組。 我認為過濾后的newArr undefined后,我的功能是正確的。 您能解釋什么不正確嗎?

var filterKey = 123456,
var array = [{ 
              ratings:{ users:[id: 123456]}, user: xyz
             },
             {
              ratings:{users:[id:9787389023]}, user:zyx
            }],

還有我的過濾功能

var newArr = array.forEach((ele) =>
                ele.ratings.users.filter((newEl) =>
                    newEl.id == filterKey))

使用array.filter方法

 let array = [ { id: 123456, user: 'xyz' }, { id:9787389023, user: 'zyx' }, { id: 123456, user: 'che' } ] let newArray = array.filter((element) => element.id === 123456) console.log(newArray) 

使用.filter,您將無需使用foreach就可以過濾結果集,因為它會遍歷整個數組。

 var find = 123456; var arr = [ { id: 123456, user: 'john' }, { id: 9787389023, user: 'leah' } ]; var results = arr.filter(function(node) { return node.id === find; }); console.log(results); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM