数组方法

构建数组

   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() // 数组从后往前 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,504评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,434评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,089评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,378评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,472评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,506评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,519评论 3 413
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,292评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,738评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,022评论 2 329
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,194评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,873评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,536评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,162评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,413评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,075评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,080评论 2 352

推荐阅读更多精彩内容