函数和数组补漏

对象的函数解构

当后端传来的数据时json对象格式,当我们想要让他作为函数的参数来调用时就可以用到,具体如下所示

1
2
3
4
5
6
let json = {
a:1,
b:2
}
let func = ({a,b=3})=>a+b;
console.log(func(json));//3

数组的函数解构

1
2
3
let arr =[1,2,3];
let func = (a,b,c)=>console.log(a,b,c);
func(...arr); //1 2 3

in

in的用处主要在于判断对象或数组里是否有元素,先来看看对象

1
2
3
4
5
let json = {
a:1,
a:2
}
console.log('a' in json);//true

关于数组,并不能确定有没有某个元素,但能确定某索引位置是否有元素,而在ES5我们知道,当我们用.length来查看是否有元素时,如果是空就会返回0,这显然是错误的,下面我们来看看ES6

1
2
let arr = ['','',''];
console.log(0 in arr);//true

数组循环方法

  1. forEach

这种方法会自动忽略掉空的情况,因此有的时候会出错

1
2
let arr = ['1','2','3'];
arr.forEach((val,index)=>console.log(index,val)); //注意顺序不能颠倒了
  1. filter
1
2
let arr = ['1','2','3'];
arr.filter(x=>console.log(x));//1 2 3
  1. some
1
2
let arr = ['1','2','3'];
arr.some(x=>console.log(x));//1 2 3
  1. map

map是一种转换方法,详细的以后再说

1
2
let arr = ['1','2','3'];
console.log(arr.map(x=>'4')); //4 4 4

将数组转换成字符串

首先是toString(),他只能将数组各个元素用逗号隔开

1
2
let arr = ['1','2','3'];
console.log(arr.toString()); //1,2,3

如果我们想用其他字符隔开各个元素,就可以使用join()

1
2
let arr = ['1','2','3'];
console.log(arr.join('|'));//1|2|3
-------------本文结束感谢您的阅读-------------