数组的最大最小值,逻辑运算代替条件判断、判断数值是否存在数组中
5. 找到数组中的最大最小值
内部函数Math.max() 和 Math.min() 可以从参数中找到最大值和最小值:
|
1
2
|
Math.max(1, 2, 3, 4); // 4Math.min(1, 2, 3, 4); // 1 |
如果要在数组中找最大最小值可以这样用:
|
1
2
3
|
var numbers = [1, 2, 3, 4];Math.max.apply(null, numbers) // 4Math.min.apply(null, numbers) // 1 |
透过 ES6 的展开运算符来完成:
|
1
2
3
|
var numbers = [1, 2, 3, 4];Math.max(...numbers) // 4Math.min(...numbers) // 1 |
6. 用逻辑运算代替条件判断
|
1
2
3
4
5
|
if(foo == 10){ doSomething();}// 可以写成下面这样foo == 10 && doSomething(); |
有时候在函数内,要判断使用者有没有输入参数,没有的话就设为默认值:
|
1
2
3
4
5
6
|
if(!foo){ // 如果 foo = undefined 或 null foo = 10;}// 可以写成下面这样foo = foo || 10; |
7. 判断是否很多数值中的一个
|
1
2
3
4
5
6
7
|
if(foo==1 || foo==22 || foo==43 || foo==51 || foo==63 || foo==83){ doSomething();}//这样写很冗长,可以改成这样:if([1, 22, 43, 51, 63, 83].indexOf(foo) != -1){ doSomething();} |
8. 清空数组
通常会这样清空数组:
|
1
2
|
var list = [1, 2, 3, 4];list = []; |
但有性能更好的清空数组方式:
|
1
2
3
|
var list = [1, 2, 3, 4];list.length = 0;// list = [] |
如果只想删掉最后两个元素:
|
1
2
3
|
var list = [1, 2, 3, 4];list.length = list.length - 2;// list = [1, 2] |

浙公网安备 33010602011771号