使用forEach

时间:2018-02-13 17:38:17

标签: javascript foreach filter

我在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))

2 个答案:

答案 0 :(得分:3)

使用array.filter方法

error undefined offending command

答案 1 :(得分:2)

使用.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);