使用jQuery从另一个数组创建一个项目数组

3

我有以下数组

var Fruits = [
  {
    "Name": "Apple,Orange",
    "id": "20"
  },
  {
     "Name": "Mango",
     "id": "40"
  }
];

我想创建一个新的数组,其中包含与给定id匹配的已选项目名称。就像我们在C# Linq中所做的那样:

var givenId = 20
var newArray = fruits.Select(x=>x.Name).Where(y=>y.id == givenId)

因此,我的新数组变成['Apple','Orange']。
2个回答

5
你可以使用Array.prototype.filter()和Array.prototype.map()来实现它。
演示:

var Fruits = [
  {
    "Name": "Apple,Orange",
    "id": "20"
  },
  {
     "Name": "Mango",
     "id": "40"
  }
];

var given_id = 20;

var result = Fruits.filter(val => val.id == given_id).map(val => val.Name);
console.log(result);


0
您可以使用类似于以下代码的方式:
var Fruits = [
{
    "Name": "Apple,Orange",
    "id": "20"
},
{
    "Name": "Mango",
    "id": "40"
}
];

findById = (id) =>{
   var result = [];
   Fruits.map((item,index)=>{
       if(item.id && item.id==id)
           return result.push(item);
   });
   return result;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接