JavaScript Object.entries()
定义和用法
Object.entries() 方法返回一个对象键值对组成的数组。
Object.entries() 方法不会改变原始对象。
相关方法:
Object.keys() 返回任何对象类型的键(属性)。
Object.values() 返回所有对象键(属性)的值。
Object.entries() 返回任何对象类型的键和值。
上述方法返回可迭代对象(可枚举的数组)。
可迭代对象使得在循环中使用对象以及将对象转换为 Map 更加简单。
实例
例子 1
const person = {
firstName: "Bill",
lastName: "Gates",
age: 50,
eyeColor: "blue"
};
let text = Object.entries(person);
例子 2
Object.entries() 使得在循环中使用对象更加简单:
const fruits = {Bananas: 300, Oranges: 200, Apples: 500};
let text = "";
for (let [fruit, value] of Object.entries(fruits)) {
text += fruit + ": " + value + "<br>";
}
例子 3
Object.entries() 使得将对象转换为 Map 更加简单:
const fruits = {Bananas: 300, Oranges: 200, Apples: 500};
const myMap = new Map(Object.entries(fruits));
语法
Object.values(object)
参数
| 参数 | 描述 |
|---|---|
| object | 可选。对象。 |
返回值
| 类型 | 描述 |
|---|---|
| Array | 包含对象键值对的可迭代数组。 |
浏览器支持
ECMAScript 2017 向对象添加了 Object.entries() 方法。
自 2017 年 3 月起,所有现代浏览器均支持 Object.entries():
| Chrome | Edge | Firefox | Safari | Opera |
|---|---|---|---|---|
| Chrome 47 | Edge 14 | Firefox 47 | Safari 10.1 | Opera 41 |
| 2016 年 6 月 | 2016 年 8 月 | 2016 年 6 月 | 2017 年 3 月 | 2016 年 10 月 |