第八节、ES6 中的函数和数组补漏

对象的函数解构

我们在进行前后端分离时,后端经常返回 JSON 格式的数据,前端的美好愿望是直接把这个 JSON 格式数据当作参数,传递到函数内部进行处理。ES6 就提供这样的解构赋值。

let json = {
    a:'sunshine',
    b:'那天'
}
function fun({a,b='faraway'}){
    console.log(a,b);
}
fun(json);

是不是感觉方便了很多,我们再也不用一个个传递参数了。

数组的函数解构

函数能解构 JSON ,那解构我们的数组就更不在话下。

let arr=['晴天','sun','绿树']
function add(a,b,c) {
    console.log(a,b,c);
}
add(...arr)

这种方法其实在前面的课程中已经学过了,这里我们就当复习了。

in 的用法

in 是用来判断对象或者数组中是否存在某个值。我们来看一下用 in 如何判断对象里是否有某个值。(对象判断属性,数组判断值)

对象判断
let obj={
    a:'晴天',
    b:'绿树'
}
console.log('a' in obj);  //true
数组判断

先来看一下ES5判断的弊端,以前会使用length属性进行判断,为0表示没有数组元素。但是这并不准确,或者说真实开发中有弊端。

let arr=[,,,,,];
console.log(arr.length); //5

上边的代码输出了5,但是数组中其实全是空值,这就是一个坑啊。那用ES6的in就可以解决这个问题。

let arr=[,,,,,];
console.log(0 in arr); //false

let arr1=['晴天','绿树'];
console.log(0 in arr1);  // true

注意:这里的0指的是数组下标位置是否为空。

数组的遍历方法

1.forEach

let arr=['晴天','sun','绿树','束缚']

arr.forEach((val,index) => console.log(index,val));

forEach循环的特点是会自动省略为空的数组元素,相当于直接给我们筛空了。当是有时候也会给我们帮倒忙。

2.filter

let arr=['晴天','sun','绿树','束缚'];

arr.filter(x => console.log(x));

这种方法其实也有循环的功能。

3.some

let arr=['晴天','sun','绿树','束缚'];

arr.some(x => console.log(x));

4.map

let arr=['晴天','sun','绿树','束缚'];

console.log(arr.map(x=>'web'));

map在这里起到一个替换的作用,这个我们后续课程会详细讲解。

数组转换字符串

在开发中我们经常会碰到把数组输出成字符串的形式,我们今天学两种方法,你要注意两种方法的区别。
join()方法

let arr=['晴天','sun','绿树','束缚'];

console.log(arr.join('|'));

join()方法就是在数组元素中间,加了一些间隔,开发中很有用处。

toString()方法

let arr=['晴天','sun','绿树','束缚'];

console.log(arr.toString());

转换时只是是用逗号隔开了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值