JavaScript Object 对象的常用属性与方法
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object
方法
assign() 合并
js
let data = {a: 1, b: 2}
Object.assign(data, {b: 3, c: 3})
console.log(data) // {a: 1, b: 3, c: 3}
- 目标对象会被直接修改
- 返回值是修改之后的目标对象
- 第一个参数是目标对象,其它多个参数均为源对象
keys() 获取所有键
js
let data = {a: 1, b: 2}
Object.keys(data) // ['a', 'b']
- 返回所有键组成的数组
values() 获取所有值
js
let data = {a: 1, b: 2}
Object.values(data) // [1, 2]
- 返回所有值组成的数组
entries() 返回键值对数组
js
let data = {a: 1, b: 2}
Object.entries(data) // [['a', 1], ['b', 2]]
- 返回一个数组:其元素是由键与值两个元素组成的数组
fromEntries() 将键值对列表转换为一个对象
js
const entries = [['a', 1], ['b', 2]]
Object.fromEntries(entries) // {a: 1, b: 2}
- 返回新对象
Object.entries()
方法的逆操作
属性相关操作
in 属性判断
js
let data = {a: 1, b: 2}
'a' in data // true
'c' in data // false
- 对于直接或继承的属性,
in
运算符都将返回true
delete 删除属性
js
let data = {a: 1, b: 2}
delete data['a'] // true
console.log(data) // {b: 2}
delete 运算符
返回true
或false
遍历
for...in 语句
推荐
js
let data = {a: 1, b: 2}
for (const key in data) {
console.log(key, data[key])
}
转为数组后再进行遍历
- 先通过
keys()
或entries()
等方法得到键相关的数组 - 然后通过
for...of
语句对数组进行遍历