如何在TypeScript中查找index==2
?
myObj = {
policy : {
index: 1,
page : "/summer"
},
purchase : {
index: 2,
page : "/sun"
}
}
E.g。
for (var key in myObj) {
if (myObj.hasOwnProperty(key)) {
if (myObj[key].index === 2)
console.log("Found.");
}
}
如何更有效地在JS或TS中执行此操作?
答案 0 :(得分:7)
Javascript-wise我使用Object.keys()函数:
Object.keys(myObj).forEach(key => {
if (myObj[key].index === 2) {
console.log("Found.");
}
});
因为它无需检查myObj.hasOwnProperty(key)
。
如果你想在找到一个搜索时停止搜索:
Object.keys(myObj).some(key => myObj[key].index === 2);
答案 1 :(得分:3)
使用Array.find
:
Object.keys(myObj).find(k => myObj[k].index === 2)
这将返回匹配发生的密钥。