遍历javascript中的字典并访问值? [复制]
Posted
技术标签:
【中文标题】遍历javascript中的字典并访问值? [复制]【英文标题】:Iterate through dictionaries in javascript and access values? [duplicate] 【发布时间】:2014-11-19 18:21:19 【问题描述】:我不是 javascript 专家,所以我确信我正在尝试做的事情非常简单,但是,这里是:
我有一个来自数据库的数组,它看起来像这样:
["name":"aName","lastName":"aLastname","name":"bName","lastName":"bLastname"]
我想遍历数组中找到的所有字典并访问aName
、aLastname
等...所以在每个字典中找到的所有可能值,当时的字典。
我尝试使用eval()
,我尝试使用JSON.parse
,但JSON.parse
我认为这是在抱怨,因为我认为该对象已经以 JSON 的形式出现。
如何在 javascript 中做到这一点?
谢谢
然后我尝试按照“重复”答案评论的建议做...我这样做了:
for(var i=0; i<array.length; i++)
var obj = array[i];
for(var key in obj)
var value = obj[key];
console.log(key+" = "+value);
问题是日志乱序。我明白了:
name = aName
name = bName
lastName = aLastName
lastName = bLastName
我想确保我一次按一个字典的顺序遍历属性和值。
这里缺少什么?
【问题讨论】:
如果服务器响应合理,这将只是一个常规的 JavaScript 数组;像任何其他数组一样迭代它 好的,我认为这很可能是重复的。如果可以的话,我会关闭它。谢谢 【参考方案1】:你可能想试试这个。
var arr = ["name":"aName","lastName":"aLastname","name":"bName","lastName":"bLastname"];
arr.forEach(function(d)
console.log(d.name, d.lastName);
);
【讨论】:
请注意,如果这是在浏览器 javascript 中,它在 IE8 或更低版本中将不起作用。不过,这很容易用 polyfill 解决【参考方案2】:var test = ["name":"aName","lastName":"aLastname","name":"bName","lastName":"bLastname"];
for (var i = 0; i < test.length; ++i)
alert(test[i].name + ", " + test[i].lastName);
http://jsfiddle.net/1odgpfg4/1/
【讨论】:
这行得通,它还可以按顺序打印…… 平心而论,Johnroe Paulo Cañamaque 的回答比我略快,但是 this 表示for
在 JavaScript 中的性能优于 forEach
。以上是关于遍历javascript中的字典并访问值? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何遍历 JavaScript 中的静态值(常量)列表? [复制]
如何访问 pandas 数据框列中的字典元素并对其进行迭代以创建填充有各自值的新列?