小编Sch*_*4rz的帖子

Javascript:按字符串数组过滤对象数组

我想知道是否有更优雅的方式来做到这一点.假设我有一个像这样的对象数组:

a = [
  {
    "id": "kpi02",
    "value": 10
  },
  {
    "id": "kpi02",
    "value": 30
  },
  {
    "id": "kpi02",
    "value": 11
  },
  {
    "id": "kpi02",
    "value": 33
  },
  {
    "id": "kpi03",
    "value": 1
  },
  {
    "id": "kpi03",
    "value": 0.5
  },
  {
    "id": "kpi04",
    "value": 0.5
  }
]
Run Code Online (Sandbox Code Playgroud)

现在我想要对id属性进行过滤,以返回在另一个数组中匹配的所有对象

var kpis = ["kpi03", "kpi02"];
Run Code Online (Sandbox Code Playgroud)

我想出了这个解决方案:

var b = [];
for (j in kpis) {
 for (i in a) { 
    if (a[i].id == kpis[j]) {
    b.push(a[i]);
    }
 }
}
Run Code Online (Sandbox Code Playgroud)

来自R,这看起来有点复杂,有没有办法用 …

javascript arrays filter

8
推荐指数
2
解决办法
1万
查看次数

标签 统计

arrays ×1

filter ×1

javascript ×1