javascript如何获取数组和对象的值

时间:2025-01-20 19:55:08

JavaScript只有一种数据类型可以包含多个值:对象Object。数组是对象的一种特殊形式。

对象的形式如下:{key: value, key: value, ...}
数组的形式如下:[value, value, ...]
数组和对象都有一个key -> value结构。但是数组中的键必须是数字,而任何字符串都可以用作对象中的键。键值对也称为“属性”。

可以使用点表示法访问对象属性
如:var obj = {"name":"mm","gender":"man"};
取obj的name值    // 结果为mm

如果属性名称不是有效的JavaScript 标识符名称,或者属性名称是变量的值,我们可以使用[]访问对象的属性:
上面获取name的值也可以这样写  obj["name"]  //结果为mm

但对于数组,只能使用括号表示法访问数组元素:
var  list = ["as","bb","ss","ggd"];
访问list中的第三个值写法为: list[2]  //结果为ss ,数组的索引是从0开始的
 

示例:访问嵌套数据结构

嵌套数据结构是一个数组或对象,它引用其他数组或对象,即其值为数组或对象。可以通过连续应用点或括号符号来访问这些结构。

这是一个例子:

var result = {
                index: 42,
                person: [{
                    id: 1,
                    name: 'foo'
                }, {
                    id: 2,
                    name: 'bar'
                }]
            };
result的第二个name属性值表达方式为:  [1].name;
                                      或者:result["person"][1]["name"];
总结:对象的属性可以使用 . 或者 [] ,数组只能使用 [index]
 

在某些情况下,当我们访问对象属性值时返回undefined, 这说明对象/数组根本没有这个属性

如:var foo = {bar: {baz: 42}};
(); // undefined
使用检查对象/数组的结构,您尝试访问的属性实际上在对象的第一层,正确代码如下:

(); // 42