📜  如何在 js 中访问字典键 - Javascript(1)

📅  最后修改于: 2023-12-03 15:38:18.742000             🧑  作者: Mango

如何在 JavaScript 中访问字典键

在 JavaScript 中,字典也称为对象,是一种非常常见的数据结构。字典由键值对组成,即一对一的关系。在访问字典键时,有几种方法可以实现。下面将介绍这些方法以及如何使用它们。

1. 通过点操作符访问键

在 JavaScript 中,可以使用点操作符(.)来访问对象的属性,也就是字典的键。例如:

const person = { name: 'Alice', age: 20 };
console.log(person.name); // 输出 'Alice'
console.log(person.age); // 输出 20

点操作符后面跟着的是要访问的键的名称。如果键的名称是一个合法的变量名,那么就可以直接这样访问。但是如果键的名称不是一个合法的变量名,比如包含空格或符号,那么就需要使用另一种方式进行访问。

2. 通过方括号操作符访问键

如果键的名称不是一个合法的变量名,那么就需要使用方括号操作符([])来访问键。例如:

const person = { 'full name': 'Bob Smith', age: 30 };
console.log(person['full name']); // 输出 'Bob Smith'
console.log(person['age']); // 输出 30

需要注意的是,方括号内的键名必须用引号括起来,否则会被认为是变量名。

3. 使用 Object.keys() 方法访问所有键

Object.keys() 方法可以返回一个给定对象的所有可枚举属性的键。例如:

const person = { name: 'Alice', age: 20 };
const keys = Object.keys(person);
console.log(keys); // 输出 ['name', 'age']

需要注意的是,Object.keys() 方法只能访问到对象自身的可枚举属性,不能访问到继承的属性或不可枚举属性。

4. 使用 for...in 循环访问所有键

除了使用 Object.keys() 方法,也可以使用 for...in 循环来访问对象的所有键。例如:

const person = { name: 'Alice', age: 20 };
for (const key in person) {
  console.log(key); // 输出 'name' 和 'age'
}

需要注意的是,在使用 for...in 循环时,不仅会访问到对象自身的属性,也会访问到继承的属性。

5. 使用 Object.getOwnPropertyNames() 方法访问所有键

Object.getOwnPropertyNames() 方法可以返回一个给定对象的所有自身属性的键。例如:

const person = { name: 'Alice', age: 20 };
const keys = Object.getOwnPropertyNames(person);
console.log(keys); // 输出 ['name', 'age']

需要注意的是,Object.getOwnPropertyNames() 方法不会返回继承来的属性,只会返回对象自身的属性。

总结

在 JavaScript 中,访问字典的键有多种方法,包括使用点操作符、方括号操作符、Object.keys() 方法、for...in 循环和 Object.getOwnPropertyNames() 方法。需要根据不同的场景选择合适的方法。