在 JavaScript 中,Object.entries() 方法主要用来返回一个给定 对象 自身可枚举 属性 的键值对数组,其排列与使用 for…in 循环遍历该对象时返回的顺序一致(区别在于 for-in 循环还会枚举 原型链 中的属性)。
Object.entries(obj);
参数 | 描述 |
---|---|
obj | 可以返回其可枚举属性的键值对的对象。 |
给定对象自身可枚举属性的键值对 数组。
Object.entries() 返回一个数组,其元素是与直接在 object 上找到的可枚举属性键值对相对应的数组。属性的顺序与通过手动循环对象的属性值所给出的顺序相同。
使用 Object.entries 获取对象属性
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Object.entries获取对象属性值</title>
<script type="text/javascript">
console.log("嗨客网(www.haicoder.net)");
function createPerson(name, age, sex){
var person = new Object();
person.name = name;
person.age = age;
person.sex = sex;
person.sayHi = function(){
console.log("I am", this.name, "i am", this.age, "years old", "and my sex is", this.sex);
}
return person;
}
var person = createPerson("HaiCoder", 109, "F");
var personEntries = Object.entries(person);
console.log("personEntries =", personEntries);
</script>
</head>
</html>
程序运行后,控制台输出如下:
我们首先创建了一个 person 对象,该对象有三个属性,即 name、age 和 sex 和一个方法,即 sayHi。最后,我们使用 Object.entries 获取了该对象的所有的属性和方法组成的数组。
使用 Object.entries 获取对象属性
<!DOCTYPE html>
<html>
<head>
<title>JavaScript Object.entries获取对象属性值</title>
<script type="text/javascript">
console.log("嗨客网(www.haicoder.net)");
function createPerson(name, age, sex){
var person = new Object();
person.name = name;
person.age = age;
person.sex = sex;
person.sayHi = function(){
console.log("I am", this.name, "i am", this.age, "years old", "and my sex is", this.sex);
}
return person;
}
var person = createPerson("HaiCoder", 109, "F");
var personEntries = Object.entries(person);
for (const [key, value] of personEntries) {
console.log("Key =", key, "Value =", value);
}
</script>
</head>
</html>
程序运行后,控制台输出如下:
我们使用 Object.entries 获取了 person 对象的所有的属性和方法组成的数组后,使用 for of 循环遍历获取了每一个属性和属性的值。
在 JavaScript 中,Object.entries() 方法主要用来直接在一个对象上定义新的属性或修改现有属性,并返回该对象。