JavaScript中的Array类

作者: Shaneee | 来源:发表于2017-06-26 11:12 被阅读25次

    创建方式:

    1. var arr = new Array();
    2. var arr = []; (推荐)

    判断方式:

    1. value instanceof Array
    2. Array.isArray(value) //常用

    转换:

    1. valueOf()
    2. toString() //分割成每个元素组成一个字符串,字符串用逗号(参数)分隔。
    3. toLocaleStrng ()
    4. join() //返回 一个由数组中的值连接起来组成的字符串,连接符为传入的参数,默认为 ,

    一 基本方法:

    1> pop()          取出最后一个元素 (先进后出),返回值就是数组最后一个元素,而且数组也会改变
    2> shift()        取出第一个元素 (先进先出),返回值就是数组第一个元素,而且数组也会改变
    
    3> push()         放入元素 ,返回值为 数组的长度。
    4> unshift()      放入元素,与push() 不同的是 新放入的队头,返回值也为数组的长度 
    
    5> reverse()      反转数组的顺序
    6> sort()         对数字进行排序
       这两个重排序方法的返回值是排序完后的数组,同时原数组也会发生改变。
    

    二 操作方法:

    1>  concat()  参数是字符串或者数组,把他们添加到调用此方法的数组上。返回值是一个新数组。原数组不变
    2>  slice()   分割数组项从第一个参数开始到第二个参数,返回截取后的新数组,原数组不变。
    
    3>  强大的splice()
    
      1) 删除        两个参数 ,第一个是起始项,第二个是要删除的项数.
    
      2) 插入        至少三个参数,第一个是起始项,第二个是0(删除0项),第三个或者更多是插入的项.
    
      3) 替换        至少是三个参数, 第一个是起始项,第二个是删除的项数,第三个或者更多是插入的项.  
    
       返回删除的项,由数组表示,原数组发生改变  
    

    **三 位置方法: **

    1>   indexOf()       第一个参数为要查找的项,第二个是查找的位置索引(可选),返回值为查找项所在位置。
    2>   lastIndexOf()   从末尾开始查找,功能和indexOf一样。
    

    四 迭代方法:

    every(): 对数组中的每一项运行给定函数,如果该函数对每一项都返回 true,则返回 true
    个人理解:就是检查是否数组的每一项都符合函数规定的功能?如果每一项都符合此方法返回true,则返回true,否则返回false。

    var arr = [8,21,69,27,6];
    var result = arr.every(function(value,index) {
      if(value > 5) {
        return true;
      }else{
        return false;
      }
    });
    console.log(result);             //true
    

    filter(): 对数组中的每一项运行给定函数,返回该函数会返回 true 的项组成的数组
    个人理解:查看数组项中是否有其中一项符合函数规定要求,如果有就返回它,以数组形式返回。

    var numbers = [1,2,3,4,,9,12,41,3,2,5,4];
    var result = numbers.filter(function(value, index) {
      if(value > 2){
        return true;
      }else{
        return false;
      }
    });
    console.log(result);            //[3,4,9,12,41,3,5,4]
    

    forEach():对数组中的每一项运行给定函数。这个方法没有返回值
    个人理解:功能和for循环操作数组相同。

    var numbers = [1,2,3,4,5];
    numbers.forEach(function(value, index) {
      console.log(value);
    });
    //   1    2    3     4     5
    

    map(): 对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组
    个人理解:返回对数组每一项操作后的结果,以数组形式显示。

    var numbers = [1,2,3,4,5];
    var result = numbers.map(function(value, index) {
      return value += 1;
    });
    console.log(result.toString());            //2,3,4,5,6
    

    some(): 对数组中的每一项运行给定函数,如果该函数对任一项返回 true,则返回 true。
    个人理解,如果说every是 && 的特性,那some就是 || 的特性,只要有一个数组项满足函数中的规定返回true,则返回true。

    这几个方法都不会改变原数组的值。
    五 归并方法

    reduce():
    reduceRight():

    相关文章

      网友评论

      本文标题:JavaScript中的Array类

      本文链接:https://www.haomeiwen.com/subject/tmvdcxtx.html