Skip to content

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 运算符返回 truefalse

遍历

for...in 语句

推荐

js
let data = {a: 1, b: 2}

for (const key in data) {
  console.log(key, data[key])
}

转为数组后再进行遍历

  • 先通过 keys()entries() 等方法得到键相关的数组
  • 然后通过 for...of 语句对数组进行遍历