Javascript 如何从具有特定属性的对象数组中选择对象

Javascript 如何从具有特定属性的对象数组中选择对象,javascript,arrays,javascript-objects,Javascript,Arrays,Javascript Objects,我有一个对象数组result2,每个对象都有属性。所以如果我调用console.dir(result3)在我的控制台中,我看到 我会撒谎对我的对象进行排序,例如,我需要一个带有 sm[['_akzsilb'] === 'LV' sm ['_graphem'] === 'diphtong'] 我试过了 const result3 = []; for (let i = 0; i < result2.length; i++) { if (result2[i].sm[['_akzsilb'

我有一个对象数组
result2
,每个对象都有属性。所以如果我调用
console.dir(result3)在我的控制台中,我看到

我会撒谎对我的对象进行排序,例如,我需要一个带有

sm[['_akzsilb'] === 'LV' 
sm ['_graphem'] === 'diphtong']
我试过了

const result3 = [];
for (let i = 0; i < result2.length; i++) {
  if (result2[i].sm[['_akzsilb'] === 'LV' && ['_graphem'] === 'diphtong']) {
    result3.push(result2[i]);
  }
}
constresult3=[];
for(设i=0;i
但它不起作用。我想这是正确的方向,因为如果我尝试一些东西,比如

const result3 = [];
for (let i = 0; i < result2.length; i++) {
  if (result2[i].sm) {
    result3.push(result2[i]);
  }
}
constresult3=[];
for(设i=0;i

它起作用了。因此,我如何“深入”并访问这两个(我需要这两个,因此它们都必须按对象存在)
\u akzsilb
\u graphom
您可以使用数组过滤器

filter()方法创建一个新数组,其中包含通过所提供函数实现的测试的所有元素

让arr=[{
姓名:“乔”,
等级:“私人”,
序号:1
},
{
姓名:“鲍勃”,
军衔:“将军”,
序号:4
},
{
名称:“Kev”,
等级:“私人”,
序号:6
},
{
姓名:“克尔”,
等级:“私人”,
序号:3
}
];
让结果=arr.filter(person=>person.rank==“Private”&&person.serialnum!=6);

控制台日志(结果)请添加您在文字语法中使用的数组的一小部分。