对象的常用方法

2023-12-22 15:35:48 浏览数 (3)

1、hasOwnProperty

检测对象是否拥有某个属性

用法:

代码语言:javascript复制
var o1 = {flag: "abc"};
o1.hasOwnProperty("flag")

运行结果:

如果对象存在该属性则返回true,否则返回false

2、assign

合并对象属性

代码语言:javascript复制
var o1 = {name: "zkq", age: 18};
var o2 = {address: "福建", sex: "男" }
var o3 = Object.assign(o1, o2);
console.log(o3);

运行结果:

合并两个对象的属性,返回合并后的对象,不改变原对象的值,如果对象的属性重复,后面对象属性的值覆盖前面对象的属性值

3、defineProperty

动态为对象设置属性

代码语言:javascript复制
var o1 = {};
Object.defineProperty(o1, "name", {
    value: "张三",	//给属性赋值的内容
    writable: true		//设置属性是否可写,true可写,false只读,如果是false,就算代码运行了赋值语句,结果也是不会改变的
});
console.log(o1);

4、defineProperties

为对象动态设置多个属性值

代码语言:javascript复制
var o1 = {};
Object.defineProperties(o1, {
    "name": {	//定义属性名称
        value: "张三",	//定义属性值
        writable: true	 //定义属性是否可改变
    },
    "age": {
        value: 18,
        writable: false //设置属性是否可写,true可写,false只读,如果是false,就算代码运行了赋值语句,结果也是不会改变的
    }
});
console.log(o1);

5、keys

获取对象的所有键并返回键的数组

代码语言:javascript复制
var o1 = {name: "张三", age: 18};
var arr = Object.keys(o1);
console.log(arr);	//['name', 'age']

6、values

获取对象的所有值并返回值的数组

代码语言:javascript复制
var o1 = {name: "张三", age: 18};
var arr = Object.values(o1);
console.log(arr);	//['张三', 18]

7、entries

获取对象的每一项属性的键和值,包装成一个数组,并返回一个二维数组

代码语言:javascript复制
var o1 = {name: "张三", age: 18};
var arr = Object.entries(o1);
console.log(arr);	//返回二维数组 [Array(2), Array(2)] 二维数组内容为:[["name","张三"],["age",18]]

0 人点赞