根据条件查找所有索引

Man*_*anu 6 javascript arrays vue.js

如何根据对象数组的条件获取所有索引?我已经尝试了下面的代码,但它只返回第一次出现的情况。

a = [
  {prop1:"abc",prop2:"yutu"},
  {prop1:"bnmb",prop2:"yutu"},
  {prop1:"zxvz",prop2:"qwrq"}];
    
index = a.findIndex(x => x.prop2 ==="yutu");

console.log(index);
Run Code Online (Sandbox Code Playgroud)

Pra*_*mar 2

findIndex方法返回数组中满足所提供的测试函数的第一个元素的索引。否则,返回-1,表示没有元素通过测试。-MDN

您可以在这里使用reduce

const a = [
  { prop1: "abc", prop2: "yutu" },
  { prop1: "bnmb", prop2: "yutu" },
  { prop1: "zxvz", prop2: "qwrq" },
];

const result = a.reduce((acc, curr, i) => {
  if (curr.prop2 === "yutu") acc.push(i);
  return acc;
}, []);

console.log(result);
Run Code Online (Sandbox Code Playgroud)