Javascript 返回仅包含与给定值匹配的元素的筛选数组

Javascript 返回仅包含与给定值匹配的元素的筛选数组,javascript,arrays,methods,filter,Javascript,Arrays,Methods,Filter,我需要一个方法,该方法遍历posts数组,并返回一个新数组,其中只包含与userId属性的某个值匹配的元素 例如: let postsArr = [ { "userId": 1, "id": 1 }, { "userId": 1, "id": 2 }, { "userId": 2, "id": 3 }, {

我需要一个方法,该方法遍历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
的项目

(有点像…)

这将(理想情况下)返回:

我肯定它会像.map()或.filter()一样,但我完全可以弄清楚如何做,或者在这种情况下最好的方法是什么


非常感谢您的帮助。

老实说,您的帮助非常宝贵

let postsar=[
{
“用户ID”:1,
“id”:1
},
{
“用户ID”:1,
“id”:2
},
{
“用户ID”:2,
“id”:3
},
{
“用户ID”:2,
“id”:4
},
{
“用户ID”:3,
“id”:5
}
];
var farray=postsArr.filter((a)=>a.userId==2);

控制台日志(farray)老实说,你的大部分时间都在那里

let postsar=[
{
“用户ID”:1,
“id”:1
},
{
“用户ID”:1,
“id”:2
},
{
“用户ID”:2,
“id”:3
},
{
“用户ID”:2,
“id”:4
},
{
“用户ID”:3,
“id”:5
}
];
var farray=postsArr.filter((a)=>a.userId==2);

控制台日志(farray)。我们过去经常这样做

var newarray = postsArr.filter(function(obj){
     return obj.userId === 2
})

在ES5中。我们过去经常这样做

var newarray = postsArr.filter(function(obj){
     return obj.userId === 2
})

你没有看过MDN文档中的过滤器吗?这是我不喜欢
数组
函数的
箭头
函数的原因之一。不过,还是要从记录
post
开始。看看它能给你什么,然后试着得到你想要的want@Rajesh什么原因?可能重复的人不明白他们可以做
=>{}
和调试他们的代码你没有查看MDN文档进行筛选吗?这是我不喜欢
数组
函数的
箭头
函数的原因之一。不过,还是要从记录
post
开始。看看它能给你什么,然后试着得到你想要的want@Rajesh什么原因?可能是重复的人不明白他们可以做
=>{}
和调试他们的代码我很接近。。。我只是不知道如何处理函数的内容。因此,如果元素与条件匹配,它只返回元素。明白了:)我很接近。。。我只是不知道如何处理函数的内容。因此,如果元素与条件匹配,它只返回元素。明白了:)
var newarray = postsArr.filter(function(obj){
     return obj.userId === 2
})