0.创建

  Javascript创建数组的基本方式有两种。第一种是使用Array构造函数。

  var colors = new Array();

  var colors = new Array(20);

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

  另外一种是省略掉new符号:

  var colors  = Array(3);

  var colors = Array("Greg");

1.检测数组

  if(value instanceOf Array){}

  if(Array.isArray(value)){}

2.转换方法

  toLocalString() 把数组转换为本地数组,并返回结果。

  toString() 把数组转换为字符串,并返回结果。

  valueOf() 返回数组对象的原始值。

  join() 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。

  示例:

  var colors = ["red", "blue", "green"];

  console.log(colors.toString());            //red,blue,green

  console.log(colors.valueOf());             //["red", "blue", "green"]

  console.log(colors);                          //["red", "blue", "green"]

  console.log(colors.join(","));              //red,blue,green

  console.log(colors.join("||"));            //red||blue||green

3.栈方法

  push() 向数组的末尾添加一个或更多元素,并返回新的长度。

  pop() 删除并返回数组的最后一个元素。

  示例:

  var colors = new Array();

  var count = colors.push("red", "green");

  console.log(count);                             // 2

  count = colors.push("black");

  console.log(count);                            //3

  var item = colors.pop();

  console.log(item);                             //black

  conosole.log(colors);                         //["red", "green"]

4.队列方法

  shift() 删除并返回数组的第一个元素。和push()一起组成数组的前端删除,末端插入的队列。

  unshift() 向数组的开头添加一个或更多元素,并返回新的长度。与pop()一起组成前端插入,末端删除的队列。

  示例:

  var colors = new Array();

  var count = colors.push("red", "green");

  console.log(count);                   // 2

  var  item = colors.shift();

  console.log(item);                    //red

  console.log(colors);                 //["green"]

  var count = colors.unshift("red", "blue");

  console.log(count);                 //3

  console.log(colors);                //["red", "blue", "green"]

5.重排序方法

  reverse() 颠倒数组中元素的顺序。

  sort() 对数组的元素进行排序。

  示例:

  var values = [1,2,3,35,5];

  values.reverse();

  console.log(values); //[5, 35, 3, 2, 1]

  values.sort();

  console.log(values); //[1, 2, 3, 35, 5]

  function compare(v1,v2){

    if(v1 < v2)return -1;

    else if(v1 > v2) return 1;

    else return 0;

  }

  values.sort(compare);

  console.log(values); //[1, 2, 3, 5, 35]

6.操作方法

  concat() 连接多个数组。

  slice() 基于当前数组中的一个或多个项创建新数组。

  splice() 向数组中部插入项。

  示例:

  var colors = ["red","green","blue"];

  var colors2 = colors.concat("yellow", ["black", "brown"]);

  console.log(colors);      //["red", "green", "blue"]

  console.log(colors2);    //["red", "green", "blue", "yellow", "black", "brown"]

  var colors3 = colors2.slice(1);

  var colors4 = colors2.slice(1,2);

  console.log(colors3);   //["green", "blue", "yellow", "black", "brown"]

  console.log(colors4);   //["green"]

  //splice删除

  var removed = colors2.splice(0,2);

  console.log(removed);   //["red", "green"]

  console.log(colors2);     //["blue", "yellow", "black", "brown"]

  //splice插入

  var inserter =  colors2.splice(1, 0, "orange", "purple");

  console.log(inserter);    //[]

  console.log(colors2);    //["blue", "orange", "purple", "yellow", "black", "brown"]

  //splice替换

  var replacer = colors.splice(1, 1, "red", "green");

  console.log(replacer);    //["orange"]

  console.log(colors2);     //["blue", "red", "green", "purple", "yellow", "black", "brown"]

7.位置方法

  indexOf() 从数组开头开始向后查找。

  lastIndexOf() 从数组的末尾开始向前查找。

  示例:

  var colors = ["red", "green", "blue", "black", "green", "black"];

  console.log(colors.indexOf("green"));            //1

  console.log(colors.indexOf("green", 2));        //4

  console.log(colors.lastIndexOf("green"));      //4

  console.log(colors.lastIndexOf("green", 3));  //1

  console.log(colors.indexOf("yellow"));           //-1

8.迭代方法

  every() 对数组中的每一项运行给定的函数,如果函数的每一项都返回true,则返回true。

  filter() 对数组中的每一项运行给定的函数,返回该函数返回为true的项组成的新数组。

  forEach() 对数组中的每一项运行给定的函数。这个方法没有返回值。

  map() 对数组中的每一项运行给定的函数,返回每次函数调用的结果组成的新数组。

  some() 对数组中的每一项运行给定的函数,如果函数对任一项返回true,则返回true。

  示例:

  var numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];

  var everyResult = numbers.every(function(item, index, array){return item > 2;});

  console.log(everyResult); //false

  var someResult = numbers.some(function(item, index, array){return item > 2;});

  console.log(someResult); //true

  var filterResult = numbers.filter(function(item, index, array){return item > 2;});

  console.log(filterResult); //[3, 4, 5, 4, 3]

  var mapResult = numbers.map(function(item, index, array){return item *2;});

  console.log(mapResult); //[2, 4, 6, 8, 10, 8, 6, 4, 2]

  console.log(numbers); //[1, 2, 3, 4, 5, 4, 3, 2, 1]
  numbers.forEach(function(item, index, array){item+2;});

9.归并方法

  ECMAScript5新增的方法:

  reduce() 迭代数组中的每一项,然后构建最终的返回值。从第一项开始。

  reduceRight() 迭代数组中的每一项,然后构建最终的返回值。从最后一项开始。

  示例:

  var values = [1,2,3];

  var sum = values.reduce(function(prev, cur, index, array){return prev+cur;});

  console.log(sum);   //6

  var sumRight = values.reduceRight(function(prev, cur, index, array){return prev+cur;});

  console.log(sumRight );   //6

----完

javascript Array method总结的更多相关文章

  1. JavaScript : Array assignment creates reference not copy

    JavaScript : Array assignment creates reference not copy 29 May 2015 Consider we have an array var a ...

  2. JavaScript Array.map

    Array.prototype.map() History Edit This article is in need of a technical review. Table of Contents ...

  3. JavaScript Array 对象

    JavaScript Array 对象 Array 对象 Array 对象用于在变量中存储多个值: var cars = ["Saab", "Volvo", & ...

  4. JavaScript Array(数组)对象

    一,定义数组 数组对象用来在单独的变量名中存储一系列的值. 创建 Array 对象的语法: new Array(); new Array(size); new Array(element0, elem ...

  5. Javascript Array.prototype.some()

    当我们使用数组时,查找数组中包含某个特殊的项是非常常见的动作.下面例子是一个简单的实现: 01 planets = [ 02     "mercury", 03     " ...

  6. [Javascript ] Array methods in depth - sort

    Sort can automatically arrange items in an array. In this lesson we look at the basics including how ...

  7. Javascript Array 方法整理

    Javascript Array 方法整理 Javascript 数组相关方法 说明 大多数其它编程语言不允许改变数组大小,越界访问索引会报错,但是 javascript不会报错,不过不建议直接修改a ...

  8. javascript array操作

    首先来看一下怎么判断一个对象是不是数组: 1.Array.isArray(obj) 调用数组的isArray方法 2.obj instanceof Array 判断对象是否是Array的实例 3.Ob ...

  9. JavaScript Array 数组方法汇总

    JavaScript Array 数组方法汇总 1. arr.push() 从后面添加元素,返回值为添加完后的数组的长度 var arr = [1,2,3,4,5] console.log(arr.p ...

随机推荐

  1. Knockout v3.4.0 中文版教程-4-通过监控数组工作

    2.通过监控数组工作 1. 监控数组 如果你想检测或者响应一个对象的改变,你用observables.如果你想检测和响应一个集合的改变,使用observableArray.这个在很多情况下都非常有用, ...

  2. webservice 测试地址

    腾讯QQ在线状态 WEB 服务Endpoint: http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx Disco: http:// ...

  3. 解决- RuntimeWarning: Parent module '...' not found while handling absolute import

    Pycharm 升级到 2016.3 以后运行 unittest 报警告如下: 网上查资料说是pycharm的一个已知但未修复的bug,解决办法如下: 使用旧的utrunner.py替换新的utrun ...

  4. appium+python自动化-adb offline(5037端口被占)

    前言 adb连手机的时候经常会出现offline的情况,一般杀掉adb,然后重启adb可以解决. 如果发现不管怎么重启adb都连不上,一直出现offlie的情况,这个时候很大可能就是adb的5037端 ...

  5. 对拍程序(Win)

    代码如下: @echo off :again rand.exe echo "rand finish" asd.exe echo "1.exe finish" 未 ...

  6. BZOJ 4815 [Cqoi2017]小Q的表格 ——欧拉函数

    把式子化简一波. 发现一个比较厉害的性质:每个点只能影响到行列下标$gcd$与它相同的点. 然后就可以计算$\sum_{g<=k}f(g,g)*\sum_{i<=k}\sum_{j< ...

  7. 常州模拟赛d3t1 神在夏至祭降下了神谕

    题目描述 我们村子在过去的400年中,断绝与下界的接触,过着自给自足的生活. 夏至祭是一场迎接祖灵于夏季归来,同时祈求丰收的庆典. 村里的男人会在广场上演出夏之军和冬之军的战争.夏之军会打倒冬之军的大 ...

  8. [COI2007] Patrik 音乐会的等待 (单调栈,模拟)

    题目描述 N个人正在排队进入一个音乐会.人们等得很无聊,于是他们开始转来转去,想在队伍里寻找自己的熟人.队列中任意两个人A和B,如果他们是相邻或他们之间没有人比A或B高,那么他们是可以互相看得见的. ...

  9. eclipse 搭建ruby环境

    第一步:获取RDT,http://sourceforge.net/projects/rubyeclipse/files/ 解压该文件,获得features和plugins两个文件夹,将这两个文件夹分别 ...

  10. 如何用Eclipse将普通的JavaWeb项目转为Maven项目

    最新自己的第一个项目差不多稳定运行之后 想着将项目转为Maven项目.于是参考网上成功的将自己的普通的项目转为了maven项目,现在记录一下: 0.普通的java项目的结构如下: 1.接下来开始进行正 ...