美文网首页
对象方法

对象方法

作者: w_小伍 | 来源:发表于2020-04-27 15:00 被阅读0次

1.Object.assign()

用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象
Object.assign(target, ...sources);
target:目标对象 sources源对象
返回目标对象
如果target和sources有相同的key,sources会覆盖target
不会跳过那些值为 [null] 或 [undefined]的源对象

原始对象会改变

let target = { a:1,b:2 }
let sources = { c:3,d:4 }
let newObj = Object.assign(target,sources)
console.log(newObj) //{a: 1, b: 2, c: 3, d: 4}
console.log(target)//{a: 1, b: 2, c: 3, d: 4}
console.log(sources)//{c: 3, d: 4}

若不想改变原始对象,target用空对象

let target = { a:1,b:2 }
let sources = { c:3,d:4 }
let newObj = Object.assign({},target,sources)
console.log(newObj) //{a: 1, b: 2, c: 3, d: 4}
console.log(target)//{ a:1,b:2 }
console.log(sources)//{c: 3, d: 4}

2.Object.keys()

返回一个由一个给定对象的自身可枚举属性组成的数组
数组中属性名的排列顺序和使用 for...in 循环遍历该对象时返回的顺序一致

let obj1 = { a:1,b:2,c:3 }
let obj2 = { 100:1,b:2,200:3 }
console.log(Object.keys(obj1))//["a", "b", "c"]
console.log(Object.keys(obj2))// ["100", "200", "b"]

应用:
原始数据

let obj = {
    k1: [ {x:1, y:1},{x:2, y:2} ],
    k2: [ {x:3, y:3},{x:4, y:4} ]
  }

变成:

let result = [
    {name: "k1",  data: [ {x:1, y:1},{x:2, y:2} ]},
    {name: "k2",  data: [ {x:3, y:3},{x:4, y:4} ]}
  ]

用Object.keys和map组合使用

let obj = {
    k1: [ {x:1, y:1},{x:2, y:2} ],
    k2: [ {x:3, y:3},{x:4, y:4} ]
  }
  let arr1 = []
  Object.keys(obj).map(key => {
    arr1.push({
      name:key,
      data:obj[key]
    })
  })
  console.log(arr1)

3.Object.values()

方法返回一个给定对象自身的所有可枚举属性值的数组,
值的顺序与使用for...in循环的顺序相同 ( 区别在于 for-in 循环枚举原型链中的属性 )。

let obj1 = { a:1,b:2,c:3 }
console.log(Object.values(obj1))//[1, 2, 3]

相关文章

  • 学习途中之类方法和对象方法

    对象方法1、 对象方法/实例方法我们之前学习的方法就叫做对象方法.对象方法的调用必须要先创建对象,通过对象来调用....

  • 1.8. 对象方法的声明和实现

    目录 对象方法声明 对象方法实现 1.对象方法声明 格式 特征对象方法以-开头如 -(void)xx;对象方法只能...

  • 数组&字符串方法&Math&Date

    数组方法 String 对象方法 数学Math方法 日期对象Date方法 Number对象方法 function对...

  • OC语言基础

    第一课 1.对象方法和类方法区别 对象方法对象方法是属于对象的以减号-开头只能让对象调用,没有对象,这个方法根本不...

  • OC +方法和-方法(补充篇)

    类方法和对象方法1、对象方法:① 减号 - 开头;② 只能由对象来调用;③ 对象方法中能访问当前对象的成员变量(实...

  • 对象方法和类方法

    -对象方法 +类方法 调用对象方法必须先创建对象,在通过对象来调用。 类方法不依赖对象,使用对象名直接调用。 类方...

  • Objective-C基础学习之对象方法和类方法的声明与实现

    1.对象方法声明 格式 特征对象方法以-开头如 -(void)xx;对象方法只能由对象来调用对象方法中可以访问当前...

  • OC重学第二天

    一. 类方法 OC 中方法分为两种.对象方法/实例方法如果想要调用对象方法必须要创建对象,通过对象来调用类方法.类...

  • 「Objective-C」类和方法

    1. 类方法和对象方法 对象方法 减号 - 开头 只能由对象来调用 对象方法中能访问当前对象的成员变量(实例变量)...

  • 1.1.1. 函数与方法对比

    目录 对象方法 函数 对象方法:(1)对象方法的实现只能写在@implementation...@end中,对象方...

网友评论

      本文标题:对象方法

      本文链接:https://www.haomeiwen.com/subject/gmuywhtx.html