我想要一个通过posts数组的方法,并返回一个仅包含与userId属性的某个值匹配的元素的新数组。

例如:

let postsArr = [
      {
        "userId": 1,
        "id": 1
      },
      {
        "userId": 1,
        "id": 2
      },
      {
        "userId": 2,
        "id": 3
      },
      {
        "userId": 2,
        "id": 4
      },
      {
        "userId": 3,
        "id": 5
      }
    ]


假设我只想返回带有userId: 2的项目。

(就像是...)

let filteredArr = postsArr.method( post => post.userId === 2)


哪一个(理想地)返回:

[
      {
        "userId": 2,
        "id": 3
      },
      {
        "userId": 2,
        "id": 4
      }
    ]


我敢肯定它会是.map()或.filter()之类的东西,但是我可以完全理解如何做,或者在这种情况下最好的方法。

任何帮助表示赞赏。

最佳答案

您几乎可以说实话..



let postsArr = [
      {
        "userId": 1,
        "id": 1
      },
      {
        "userId": 1,
        "id": 2
      },
      {
        "userId": 2,
        "id": 3
      },
      {
        "userId": 2,
        "id": 4
      },
      {
        "userId": 3,
        "id": 5
      }
    ];

var farray = postsArr.filter((a) => a.userId === 2);

console.log(farray);

关于javascript - 返回仅包含与给定值匹配的元素的过滤数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40240572/

10-11 23:06
查看更多