ES6系列_8之函数和数组

Posted bfwbfw

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES6系列_8之函数和数组相关的知识,希望对你有一定的参考价值。

 

技术分享图片

1.对象的函数解构

ES6为我们提供了这样的解构赋值使在前后端分离时,后端返回来JSON格式的数据,前端可以直接把这个JSON格式数据当作参数,传递到函数内部进行处理。比如:

let json = {
    a:‘es6‘,
    b:‘es5‘
}
function fun({a,b=‘es5‘}){
    console.log(a);//es6
console.log(b);//es5 } fun(json);

结果为:技术分享图片

2.数组的函数解构

 声明一个数组,然后写一个方法,最后用…进行解构赋值。

let arr = [‘1‘,‘2‘,‘3‘];
function fun(a,b,c){
    console.log(a,b,c);//1,2,3
}
fun(...arr);

3.in的用法

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

(1)对象判断

let obj={
    a:‘a-es6‘,
    b:‘b-es5‘
}
console.log(‘a‘ in obj);  //true

 

(2)数组判断

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

 

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

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

let arr=[,,,,,];
console.log(0 in arr); //false
let arr1=[‘a‘,‘b‘];
console.log(0 in arr1);  // true

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

4.数组的遍历方法

(1)forEach

let arr=[‘a‘,b‘,‘c‘];
arr.forEach((val,index)=>console.log(index,val));

结果为:技术分享图片

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

(2)filter

let arr=[‘a‘,‘b‘,‘c‘];
arr.filter(x=>console.log(x));

输出结果为:技术分享图片

(3)some

let arr=[‘a‘,‘b‘,‘c‘];
arr.some(x=>console.log(x));

结果为:技术分享图片

(4)map

map在这里起到一个替换的作用.

let arr=[‘a‘,‘b‘,‘c‘];
console.log(arr.map(x=>‘web‘));

结果为:技术分享图片

5.数组转换字符串

(1)toString()方法

let arr=[‘a‘,‘b‘,‘c‘];
console.log(arr.toString());

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

结果为:技术分享图片

(2)join()方法

let arr=[‘a‘,‘b‘,‘c‘];
console.log(arr.join("|"));

结果为:技术分享图片

待续。。


以上是关于ES6系列_8之函数和数组的主要内容,如果未能解决你的问题,请参考以下文章

ES6系列_3之变量的解构赋值

ES6系列_4之扩展运算符和rest运算符

ES6系列_13之Proxy进行预处理(简单学习)

ES6 从入门到精通 # 05:函数之扩展运算符箭头函数

ES6 从入门到精通 # 05:函数之扩展运算符箭头函数

ES6系列_15之class类的使用