遍历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"]

我想遍历数组中找到的所有字典并访问aNameaLastname 等...所以在每个字典中找到的所有可能值,当时的字典。

我尝试使用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 6中的字典和地图有啥区别? [复制]

如何遍历 JavaScript 中的静态值(常量)列表? [复制]

如何访问 pandas 数据框列中的字典元素并对其进行迭代以创建填充有各自值的新列?

如何将字典的值复制到 .Net 2.0 中的 IList 对象中?

我们如何访问以列表形式存在的字典中的值? [复制]

swift实现遍历嵌套字典并修改其中的值