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("|"));

    结果为:

    待续。。

  • 相关阅读:
    DC中为什么要用Uniquify?
    hdu 1596 find the safest road
    hdu2112 HDU Today
    hdu 2066 一个人的旅行
    poj 3026 Borg Maze
    poj 1979 Red and Black
    poj 1321 棋盘问题
    hdu 1010 Tempter of the Bone
    hdu 4861 Couple doubi
    codeforces584B Kolya and Tanya
  • 原文地址:https://www.cnblogs.com/wfaceboss/p/10055893.html
Copyright © 2011-2022 走看看