javascript - 使用 forEach 过滤数组项

标签 javascript foreach filter

我有一个关于 forEach 中的过滤器数组的问题。所以我想使用外部变量filterKey来过滤(比示例中更大)数组。我认为我的函数在过滤后的 newArrundefined 后是正确的。你能解释一下什么是不正确的吗?

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)

关于javascript - 使用 forEach 过滤数组项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48772567/

相关文章:

javascript - 正则表达式 - 重复捕获组

if-statement - NetLogo 列表和条件修改

c# - 使用双 Foreach 循环输出数据时结果相同

javascript - angular2中的 typescript ,如何通过这个访问类变量

javascript - 是否使用闭包,John Conway 的 Game of Life

php - 如何以多行形式保存用户名和user_id

search - 基于联系人标签的 Gmail 过滤器

python - 如何在字典中找到相同的值

python - django 在一个查询集所有和过滤方法中

javascript - 避免单词 split