es6的新增方法

1.Object.assign()
定义:用来合并对象
基本用法:Object.assign(目标对象,源对象1,源对象2,…) 返回目标对象

const apple = {name:'苹果',color:'red'}
console.log({...apple})
// 注意事项:基本数据类型作为源对象
//与对象的展开类似,先转成对象,再合并
console.log(Object.assign({},undefined)); //{}
console.log(Object.assign({},null));    //{}
console.log(Object.assign({},1));//{}
console.log(Object.assign({},true));//{}
console.log(Object.assign({},"str"));//{0: "s", 1: "t", 2: "r"}

应用:合并默认参数和用户参数
当用户没有传一些参数时,就使用默认参数,有传的话,用户的参数就覆盖了默认参数

const logUser = userOptions=>{
  const DEFAULTS = {username:'zhangsan',age:18,sex:'male'};
  const options = Object.assign({},DEFAULTS,userOptions);
  console.log(options);
}
logUser({});//{username:'zhangsan',age:18,sex:'male'}
logUser(); //{username:'zhangsan',age:18,sex:'male'}
logUser({username:'Alex'}); //{username:'Alex',age:18,sex:'male'}

Object.keys(),Object.values(),Object.entries()与数组类似方法的区别:
数组这边是实例的方法并且返回的可遍历对象iterator,而Object这边是构造函数的方法,返回的是数组。

for…of 遍历对象

const obj = {username:'zhangsan',age:18,sex:'male'}

for(const key of Object.keys(obj)){
  console.log(key);
}
for(const val of Object.values(obj)){
  console.log(val);
}
for(const entry of Object.entries(obj)){
  console.log(entry);
}
//数组解构赋值
for(const [key,value] of Object.entries(obj)){
    console.log(key,value);
}

2.数组的方法
根据回调函数的返回值真假来判断是否找到
find(回调函数,[,this指向]):满足条件的第一个值或undefined(找不到)
findIndex( 回调函数,[,this指向] ):满足条件的第一个值的索引或-1(找不到)
3.Array.from()
将其他类型数据(数组,字符串,set,Map,arguments,NodeList即可遍历对象)转化为数组

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值