Javascript 使用运行索引检查JSON对象
我有以下JSON:Javascript 使用运行索引检查JSON对象,javascript,json,angular,for-loop,Javascript,Json,Angular,For Loop,我有以下JSON: var-myObj; myObj={ “姓名”:“A”, “r1”:“y”, “r2”:“n”, “r3”:“y”, “lname”:“B” }; //我想通过for循环迭代这个对象,如下所示: 对于(var j=1;j在代码中搜索对象中不存在的名为“tmpR”的键,需要使用括号表示法 var-myObj; myObj={ “姓名”:“A”, “r1”:“y”, “r2”:“n”, “r3”:“y”, “lname”:“B” }; 对于(var j=1;j如果要访问对象的
var-myObj;
myObj={
“姓名”:“A”,
“r1”:“y”,
“r2”:“n”,
“r3”:“y”,
“lname”:“B”
};
//我想通过for循环迭代这个对象,如下所示:
对于(var j=1;j在代码中搜索对象中不存在的名为“tmpR”的键,需要使用括号表示法
var-myObj;
myObj={
“姓名”:“A”,
“r1”:“y”,
“r2”:“n”,
“r3”:“y”,
“lname”:“B”
};
对于(var j=1;j如果要访问对象的各个属性,则可以使用索引运算符,如myObj['r1']
。例如,循环可以如下所示:
for (var j = 1; j <= 3; j++) {
var tmpR = "r" + j;
var r = myObj[tmpR];
if (r == "y") {
//some code...
}
}
for(var j=1;j您正在查找jason对象中不存在的属性。您需要执行以下操作:
for (var j=1 ; j<= 3 ; j++) {
if(myObj['r'+j] === "y") {
//some code...
}
}
for(var j=1;j如前所述,有两种方法可以访问对象的属性
由于要使用动态变量访问对象属性,必须使用括号表示法
您可以看到以更实用的方式编写的示例:
const myObj = {
"name": "A",
"r1":"y",
"r2":"n",
"r3":"y",
"lname": "B"
};
[1,2,3].map(n => `r${n}`)
.filter(k => myObj[k] === 'y')
.forEach(k => console.log(`Key: ${k} - value: ${myObj[k]}`));