zoukankan      html  css  js  c++  java
  • 数组的最大最小值,逻辑运算代替条件判断、判断数值是否存在数组中

    5. 找到数组中的最大最小值
    内部函数Math.max() 和 Math.min() 可以从参数中找到最大值和最小值:

    1
    2
    Math.max(1, 2, 3, 4); // 4
    Math.min(1, 2, 3, 4); // 1

    如果要在数组中找最大最小值可以这样用:

    1
    2
    3
    var numbers = [1, 2, 3, 4];
    Math.max.apply(null, numbers) // 4
    Math.min.apply(null, numbers) // 1

    透过 ES6 的展开运算符来完成:

    1
    2
    3
    var numbers = [1, 2, 3, 4];
    Math.max(...numbers) // 4
    Math.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]
  • 相关阅读:
    javascript类的封装『转』
    闭包概念
    继承
    理解面向对象
    cookie的使用
    开园啦。。。
    Myslq 之常用命令
    Myslq 之修改提示符
    Myslq 之登陆、退出
    Javascript 之 Number
  • 原文地址:https://www.cnblogs.com/moxiaowohuwei/p/7453242.html
Copyright © 2011-2022 走看看