zoukankan      html  css  js  c++  java
  • 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("|"));

    结果为:

    待续。。

  • 相关阅读:
    常见的排序算法--java版
    使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
    在JAVA中如何跳出当前的多重嵌套循环
    说说&和&&的区别
    家族/亲戚(relation)
    面积(area)
    珍珠(bead)
    N皇后问题
    纪念品分组 2007年NOIP全国联赛普及组
    二叉树的序遍历
  • 原文地址:https://www.cnblogs.com/wfaceboss/p/10055893.html
Copyright © 2011-2022 走看看