【问题标题】:JavaScript While loop: variable does not replace withJavaScript While循环:变量不替换为
【发布时间】:2017-09-11 13:24:03
【问题描述】:

我有以下代码:

j = 1;
while (j < 50) {
  //requirement:
     console.log(JSONitem [j]["criteria"]);
     reqtest = Object.keys(JSONitem [j]["criteria"]);
         ....
     j++;
}

但是当我执行这个时,我得到以下错误:

TypeError: JSONitem[j] 未定义

console.log部分的输出对象是对的,而且在这一行中也是上面的TypeErro。我认为,“j”不会替换数字,但在输出控制台中它可以工作......

谢谢!

【问题讨论】:

标签: javascript jquery json while-loop key


【解决方案1】:
console.log(...JSONitem.map(el=>el.criteria));

如果数组 (?) 的长度发生变化,您的代码可能会出现意外行为。您应该使用 Array.prototype 方法或 for..in、for..of 或

for(i=0;i<array.length;i++) 

循环遍历你的数组。

【讨论】:

  • JSONitem.map 不起作用,因为我有一个对象,而不是数组:{"display":{"description":"","background":""},"criteria":{impossible":{}} 我只是想在“标准”中获取所有标准。它应该与 object.keys 一起使用,但“j”没有被替换为数字或类似的东西。不过谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-12
  • 2021-07-27
  • 2015-01-21
  • 2022-07-07
相关资源
最近更新 更多