数组方法

构建数组

   var colors = new Array();

   指定数组的大小
    
    var colors = new Array(20);

    或者指定数组里面的内容

    var colors = new Array("red", "blue","green");

    length可以删除/添加末尾的元素
    var colors = ["red", "yellow", "green"];
    colors.length = 2;  // 此时green就被删除了

检测数组

    1、instanceof  instanceof用于判断一个变量是否是某个对象的实例

      var a = [1,2,3,5];
      a instanceof Array; // 输出为true

  2、Array.isArray(a);  // true

  3、 利用constructor 
      a instanceof Array;  //true
      a.constructor == Array; // true

4、Object.prototype.toString.call(a);
  // 输出 "[object Array]"

栈方法

         push()方法可以接受任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度
         pop()方法可以从数组末尾移除最后一项,减少数组的length值,然后返回移除项

        // 注意注意 高能高能  push是返回修改后数组的长度   pop是返回移除的项       栈---后进先出,从菊花进入从菊花输出

队列方法

    push() ...
    shift() 方法从数组中获取第一项,移除第一项以后并返回该项,同时数组长度减1

    // 队列----先进先出    从菊花进入,从嘴巴输出  好恶心。。。。。。。。。。

  另外 unshift 是可以在数组前端添加项  利用pop和unshift 可以反向模拟队列

重排序方法

    reverse() 数组反转
    
    sort()  排序 传入一个function作为参数
    该函数接受两个参数 如果第一个参数应该位于第二个参数之前则返回一个负数
    如果两个参数相等则返回0
    如果第一个参数应该位于第二个参数之后则返回一个正数

操作方法

   1、 concat()  数组拼接      -------- 浅拷贝
    var colors = ["red", "green", "blue"];
    colors.concat("yellow", ["black", "brown"]); // 返回的是一个新数组

     2、slice()    数组切割
     接受一个或两个参数,第一个参数返回从该参数指定位置开始到当前数组末尾的所有项,如果有两个参数,表示返回起始和结束位置之间的项 (不包括结束位置的项)

    3、最强大的数组方法 splice

                --  删除
                -- 插入
                -- 替换

  有三个参数  

              -- 第一个参数 表示 要删除的位置  index
              -- 第二个参数   要删除的个数  length
              -- 第三个参数-第N个参数 (可选)用于替换或者删除

// 返回的是被删除的数组

var colors = ["red", "green", "blue"];
//   删除
var remove = colors.splice(0,1);
// 增加数组
colors.splice(1, 0, "yellow", "orange");

// 替换
colors.splice(1,1,"red", "orange");

位置方法

 1、indexOf 查找某个数在数组中的位置,没有就返回-1  array.indexOf(number);
 2、lastIndexOf 从数组的末尾开始向前查找

迭代方法

    迭代方法需要传入一个函数作为参数,这个函数有三个参数 item, index, array   //item是数组的项,index是位置,array是数组的本身
   
  ---  every() // 比较每一项,如果每一项都符合就返回true
  -- filter() // 比较每一项,返回该函数会返回true的项组成的数组
  -- forEach() // 给数组中的每一项指定函数
  -- map()  //对数组中每一项指定函数,返回每次函数调用的结果组成的数组
  -- some() // 只要任一项目为true就返回true  --为啥不直接用indexOf呢

递归方法

-- reduce() // 传入一个函数 函数有四个参数  prev, cur, index, array  -- 前一项,当前项,位置, 当前数组
    数组从前往后
-- reduceRight() // 数组从后往前 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容