我有一个对象的数组 StaggeredGridLayoutManager mLayoutManager = new StaggeredGridLayoutManager(3,StaggeredGridLayoutManager.VERTICAL);
yourRecyclerView.setLayoutManager(mLayoutManager);
//set adapter to recyclerview
,每个对象都有属性。因此,如果我在控制台中呼叫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]);
}
}
它有效。所以我怎么能更深入地去做并且访问两者(我需要两者,所以它们都必须按对象存在)const result3 = [];
for (let i = 0; i < result2.length; i++) {
if (result2[i].sm) {
result3.push(result2[i]);
}
}
和_akzsilb
答案 0 :(得分:1)
您可以使用阵列过滤器。
filter()方法创建一个新数组,其中包含通过所提供函数实现的测试的所有元素。
let arr = [{
name: "Joe",
rank: "Private",
serialnum: 1
},
{
name: "Bob",
rank: "General",
serialnum: 4
},
{
name: "Kev",
rank: "Private",
serialnum: 6
},
{
name: "Kel",
rank: "Private",
serialnum: 3
}
];
let results = arr.filter(person => person.rank === "Private" && person.serialnum != 6);
console.log(results);
&#13;