Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用运行索引检查JSON对象_Javascript_Json_Angular_For Loop - Fatal编程技术网

Javascript 使用运行索引检查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如果要访问对象的

我有以下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如果要访问对象的各个属性,则可以使用索引运算符,如
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]}`));