【问题标题】:run through JS object list遍历JS对象列表
【发布时间】:2015-03-17 18:16:44
【问题描述】:

我无法通过这个列表,我已经尝试了所有方法:

list=[{'fullName': 'doubleparty', 'name': 'double'}, {'fullName': 'runtime', 'name': 'run'}, }];

for (var i in list) {}

我尝试将其解析为 JSON,但不接受简单的引号(我认为)

非常感谢。

【问题讨论】:

  • for (var i in list) 将起作用。有什么问题?
  • JSON 中不允许使用单引号,但幸运的是您使用 JavaScript 编写并且 JavaScript 认为这很好。
  • bucle 运行了很多循环(巨大)。可能是列表中的字母总数。
  • @user3612445 — 不,不会。至少,不是您提供的代码。也许您的测试用例实际上并没有重现您遇到的问题。 (它确实有我认为是转录问题的错误)。尝试创建一个实际演示您的问题的测试用例。
  • 您不会“解析为 JSON” 您将 JSON 解析为对象,或将对象字符串化为 JSON。 “试图将其解析为 JSON”是什么意思?你的变量list 无论如何都不是 JSON,它是一个 POJO(普通的旧 JavaScript 对象),那么有什么要解析的呢?无论如何,由于这个对象是一个数组,你的for (var i in list) 将简单地迭代数组的元素,其中有两个。 (那是在你消除了最后的虚假} 之后,语法错误)。 正在 遍历列表——你还想做什么?你说你已经“尝试了所有方法”。您还尝试了哪些其他方法?

标签: javascript list for-loop


【解决方案1】:
  • 首先,您的代码中存在语法错误,导致它无法正常工作,您应该删除多余的,}:

    list=[{'fullName': 'doubleparty', 'name': 'double'}, {'fullName': 'runtime', 'name': 'run'}];
    
  • 其次,list 是一个对象数组,所以你必须把它当作一个数组来对待:

    for(var j = 0; j < 2; j++) { // iterate throw the list array
        for (var i in list[j]) { // iterate throw the objects in list array
            alert(i);
        }
    }
    

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-11
    • 2011-08-19
    • 2018-05-08
    • 2011-06-11
    • 1970-01-01
    相关资源
    最近更新 更多