跳到主要内容

JavaScript 对象 entries() 方法

Object.entries() 方法返回一个对象的可枚举属性的键值对数组。

示例

const obj = { name: "Adam", age: 20, location: "Nepal" };

// 以键值对格式返回属性
console.log(Object.entries(obj));

// 输出:[ [ 'name', 'Adam' ], [ 'age', 20 ], [ 'location', 'Nepal' ] ]

entries() 语法

entries() 方法的语法是:

Object.entries(obj);

作为一个静态方法,entries() 方法使用 Object 类名来调用。

entries() 参数

entries() 方法接受:

  • obj - 要返回其可枚举属性的对象。

entries() 返回值

entries() 方法返回一个包含对象所有可枚举属性的数组,其中每个元素都是一个键值对。

示例 1:JavaScript Object.entries()

let student = {
name: "Lida",
age: 21,
};

// 将 student 的属性
// 转换为键值对数组
let entries = Object.entries(student);

console.log(entries);

// 输出:[ [ 'name', 'Lida' ], [ 'age', 21 ] ]

在上面的示例中,我们创建了一个名为 student 的对象。然后,我们使用 entries() 方法以键值对格式获取其可枚举属性。

注意:可枚举属性是指在 for...in 循环中和 Object.keys() 中可见的属性。

示例 2:随机排列键的 entries() 方法

// 键被随机排列
const obj = { 42: "a", 22: "b", 71: "c" };

// 返回键值对数组
// 键按升序排列
console.log(Object.entries(obj));

// 输出:[ [ '22', 'b' ], [ '42', 'a' ], [ '71', 'c' ] ]

在上面的示例中,我们创建了一个 obj 对象,其键被随机排列,即没有顺序(升序或降序)。

然而,如果我们在 obj 上使用 entries() 方法,输出将包括键值对,其中键按升序排序。

示例 3:使用 entries() 遍历键值对

const obj = { name: "John", age: 27, location: "Nepal" };

// 遍历对象的键值对
for (const [key, value] of Object.entries(obj)) {
console.log(`${key}: ${value}`);
}

输出

name: John
age: 27
location: Nepal

在上面的示例中,我们在 for 循环中使用了 entries() 方法来遍历 obj 对象。

在循环的每次迭代中,我们可以以键值对的形式访问当前对象属性。

示例 4:entries() 与字符串

const str = "code";

// 在上述字符串上使用 entries()
console.log(Object.entries(str));

// 输出:[ [ '0', 'c' ], [ '1', 'o' ], [ '2', 'd' ], [ '3', 'e' ] ]

在上面的示例中,我们使用了 entries() 方法处理 str 字符串。这里,输出的每个元素包括:

  • - 字符串中每个字符的索引
  • - 对应索引处的单个字符

推荐阅读: