如何使用jquery和javascript从对象数组中获取值

时间:2017-06-08 11:55:30

标签: javascript jquery arrays fetch

我有这个数组结构:

var $obj = {
        'sections1' : {
            'row1' : {
                'key1' : 'input1',
                'key2' : 'inpu2'
            },
            'row2' : {
                'key1' : 'input1',
                'key2' : 'inpu2'
            }
        },
        'sections2' : {
            'row3' : {
                'key1' : 'input1',
                'key2' : 'inpu2'
            },
            'row4' : {
                'key1' : 'input1',
                'key2' : 'inpu2'
            }
        }
    };

我想从$obj->section2->row4->key2获取数据。我怎样才能使用jquery和javascript来实现它。

更新:我希望它在段落或div中打印值

<p id="array"></p>

3 个答案:

答案 0 :(得分:1)

在javascript中使用.(点)表示法来访问值

var obj = {
        'sections1' : {
            'row1' : {
                'key1' : 'input1',
                'key2' : 'inpu2'
            },
            'row2' : {
                'key1' : 'input1',
                'key2' : 'inpu2'
            }
        },
        'sections2' : {
            'row3' : {
                'key1' : 'input1',
                'key2' : 'inpu2'
            },
            'row4' : {
                'key1' : 'input1',
                'key2' : 'inpu2'
            }
        }
    };
    
    
    console.log(obj.sections2.row4.key2);
    
    

答案 1 :(得分:1)

有不同的方式。最合适的是:

  1. 括号表示法

    var prop = object['property_name'];

  2. 点符号

    var prop = object.property_name;

  3. 在你的情况下,它将是

    &#13;
    &#13;
    var obj = {
            'sections1' : {
                'row1' : {
                    'key1' : 'input1',
                    'key2' : 'inpu2'
                },
                'row2' : {
                    'key1' : 'input1',
                    'key2' : 'inpu2'
                }
            },
            'sections2' : {
                'row3' : {
                    'key1' : 'input1',
                    'key2' : 'inpu2'
                },
                'row4' : {
                    'key1' : 'input1',
                    'key2' : 'inpu2'
                }
            }
        };
        
        
        console.log(obj.sections2.row4.key2);//Dot notation
        console.log(obj['sections2']['row4']['key2']);//Bracket notation
        document.getElementById("array").innerHTML=obj.sections2.row4.key2;
    &#13;
    <p id="array"></p>
    &#13;
    &#13;
    &#13;

    有关详细信息,请参阅 MDN Property Accessors

    锄头有帮助:)

答案 2 :(得分:1)

实际上它看起来很安静,简单你的要求 您可以使用数组表示法或(。)点运算符

1)数组表示法$obj['section2']['row4']['key2'];

2)点运算符$obj.section2.row4.key2;

Nb:请使用数组表示法如果密钥中有空格,那么在密钥未知的情况下是安全的

如果需要,可以遍历可用于循环的所有键