当前位置: 首页 > news >正文

你应该知道的JavaScript操作对象方法总结

JavaScript的所有数据都可以被视为对象,对象其实是一种无序的数据集合,由很多个“键值对”(key-value)构成, 生成对象的方法有下面三种方式。

<script>
	var obj1 = {};
	var obj2 = new Object();
	var obj3 = Object.create(proto, propertyObject);
	//proto 第一个参数是这个新创建的对象的原型(指定一个对象作为新创建对象的__proto__)。
	//propertyObject 可选参数,是一个对象,用于对新创建的对象进行初始化。 
	var obj4 = Object.create(obj1, {
		name: {
			value: "sunflowersoft",
			// 初始化赋值 
			writable: true,
			// 设置属性是否可以被重写,默认属性值为false不能重写。
			configurable: true,
			// 是否能够删除,默认属性值为false
			enumerable: true,
			// 是否可以用for in 进行枚举,默认属性值为false不能被枚举。
			get() {},
			// get函数获取属性返回结果 
			set(value) {} //set函数设置属性的值,参数value
		}
	});
</script>

操作对象的方法

扩展运算符: 扩展运算符(…)用于取出参数对象的所有可遍历属性,拷贝到当前对象之中。

枚举属性for in: 循环遍历对象自身的和继承的可枚举属性(不含 Symbol 属性),自身属性或者来自原型对象上的继承属性都可以被枚举出来。

Object.assign(): 将所有可枚举属性的值从一个或多个源对象分配到目标对象并返回目标对象,常用来合并对象。 Object.assign(target, …sources)。 参数解析: target—>目标对象,source—>源对象,返回值是target,即目标对象。

Object.keys(obj): 返回obj对象所有的可枚举的自有属性的名称组成的数组,不包含继承属性。

Object.values(): 返回一个给定对象自身的所有可枚举属性值的数组

Object.entries(): 返回一个给定对象自身可枚举属性的键值对组成的数组

Object.freeze(): 可以冻结一个对象,冻结后不能做任何操作。

hasOwnProperty(): 返回一个布尔值,用于检测这个属性是否是对象本身属性,而不是原型对象上的属性。obj.hasOwnProperty(‘name’))

Object.getOwnPropertyNames(obj): 返回一个自身所有属性(可枚举和不可枚举属性)名称组成的字符串数组,但是不含 Symbol 属性。

Object.getOwnPropertySymbols(obj): 返回一个数组,包含对象自身的所有 Symbol 属性的键名。

<script>
	let obj = {
		name: 'may',
		age: 20
	};
	let objA = {
		school: '复旦大学',
		score: 89
	}

	let newObj = {...obj
	};
	newObj // { name:'may', age:20 } 
	for (let x in obj) {
		console.log(obj[x]); //may,20
	}

	Object.assign({},
	obj, objA); // {name:'may', age:20,school:'复旦大学', score: 89}
	Object.keys(obj); // ['name', 'age']
	Object.values(obj); // ['may', 20]
	Object.entries(obj); // [['name', 'may'],['age', 20]]
	Object.getOwnPropertyNames(obj); // ['name', 'age']
	
</script>

相关文章:

  • 专业手机网站设计/电脑网页制作
  • 太原做网站设计/怎么创建网页
  • js网站禁止复制/cba赛程
  • 网站响应方案/郑州seo顾问热狗hotdoger
  • 政协网站法治建设版块/南京seo网络优化公司
  • 网站开发费用摊销年限/百度网站检测
  • openCV实战项目--人脸考勤
  • FlexRAN BBU Pool 设计的思考:为什么常见的设计是三维度的,以及类比,机器理解
  • 每天五分钟机器学习:神经网络比逻辑回归强大的本质
  • 美国每月1-2千美元的工资怎么生活?
  • win10搭建spark3.1环境(超详细)
  • 【C/C++内功心法】剖析预处理过程,详解预处理指令,提升C/C++内功
  • 数据结构与算法(java版)第二季 - 4 快速、希尔排序(未完)
  • 供应科研试剂树状炔烃-PEG-树状炔烃,Dendro Alkyne-PEG-Dendro Alkyne
  • 猿创征文|Python快速刷题网站——牛客网 数据分析篇(十六)
  • 如何让不给听得歌乖乖听话?python教你如何做...
  • Keras深度学习实战(31)——构建电影推荐系统
  • 什么是web3.0