【JS】对象常用的方法(工作必用)

1、Object.entries(obj):返回对象内可枚举键值对组成的数组;

const obj = { a: '1', b: 2 };
console.log(Object.entries(obj)); // [ ['a', '1'], ['b', 2] ]

2、Object.keys(obj):返回对象内可枚举属性名组成的数组;

// 简单数组
var arr = ['a', 'b', 'c'];
console.log(Object.keys(arr)); // console: ['0', '1', '2']

// 简单对象
const obj = { a: 1, b: 2 };
console.log(Object.keys(obj)); // [a,b]

3、Object.values(obj):返回对象内可枚举属性值组成的数组;

const obj = { a: 1, b: 2 };
console.log(Object.values(obj)); // [1,2]

4、delete 操作符:用于删除对象的某个属性

let obj = { a: 1, b: 2 };
// delete obj;	// 不能直接删除对象,这里会报错
delete obj.a;
console.log(obj);// 输出{b: 2};

5、hasOwnProperty():返回一个布尔值,指示对象自身属性中是否具有指定的属性(也就是,是否有指定的键);

let obj = { a: 1, b: 2 };
console.log(obj .hasOwnProperty('a'));	// true
console.log(obj .hasOwnProperty('c'));	// false

6、Object.defineProperty() :会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象。

/*
	obj: 要定义属性的对象。
	prop: 要定义或修改的属性的名称或 Symbol 。
	descriptor: 要定义或修改的属性描述符。
*/
Object.defineProperty(obj, prop, descriptor)

//使用
const obj = {};
Object.defineProperty(obj , 'property', {
  value: 1,   // value值
});
== 等价于 ==
Object.defineProperty(obj, 'property', {
  value: 1,      		// value值
  configurable: false,	// 是否可删除
  enumerable: false,	// 是否可遍历
  writable: false,		// 是否可修改
});
//所以obj不可修改删除遍历操作,除非把上面的三个属性设置为true
console.log(obj);	// { property: 1}
delete object.property	// 删除操作,不生效
console.log(obj);	// { property: 1}

object.property1 = 23	// 修改操作,不生效
console.log(obj);	// { property: 1}

for (let i in obj) {	// 遍历操作,不生效
	console.log(i);	// 无打印
}

注:本文只列出常用的方法

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值