【问题标题】:How to get the key-value from an object in JavaScript?如何从 JavaScript 中的对象中获取键值?
【发布时间】:2011-12-02 22:08:34
【问题描述】:

我有一个获取对象的成功函数:

success: function(json) {

}

json[>Object , >Object , >Object, ...]

在每个对象中我都有一些键和值:

object[
    test: yes
    testing: no
]

我正在尝试获取这些值和键并将它们放在 div 元素中:

for ( var object in json)
{
    for ( var objects in json[object])
    {
        var obj = jQuery.parseJSON(json[object][objects]);
        $('#details').append(obj);
    }
}

这将把所有对象的所有值一个接一个地混合在一起。我也想知道钥匙,这样我就可以把它们放在桌子上或者有什么想法?

【问题讨论】:

    标签: jquery object multidimensional-array


    【解决方案1】:

    看起来你已经完成了,objects 应该是关键:

    for ( var object in json)
    {
        for ( var objects in json[object])
        {
            //here `objects` will be a key
            var obj = jQuery.parseJSON(json[object][objects]);
            $('#details').append(obj);
        }
    }
    

    这里有一个 jsfiddle 来演示:http://jsfiddle.net/jasper/FmDU9/1/

    附带说明:for ( var i = 0; i < len; i++){for ( var object in json) 快得多,因此如果您要遍历对象数组,请使用 for ( var i = 0; i < len; i++){ 遍历数组。这里有一些证明:http://jsperf.com/for-in-tests/2

    【讨论】:

    • 如果您不介意,还有一件事。你怎么知道女巫是女巫。如果我只想选择某个值怎么办?例如:根据您的示例进行测试
    • @Patrioticcow 如果您知道要访问的密钥,则可以检查当前密钥:if (objects == 'testing') {...}。如果您正在使用已知键(它们总是相同的),那么我建议摆脱内部 for 循环并只访问这样的值:$('#details').append('testing = ' + json[object].testing + '<br />test = ' . json[object].test);
    猜你喜欢
    • 1970-01-01
    • 2019-08-07
    • 2019-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-09
    • 2019-04-03
    • 2012-04-12
    相关资源
    最近更新 更多