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. [WPF自定义控件库]使用WindowChrome的问题

    1. 前言 上一篇文章介绍了使用WindowChrome自定义Window,实际使用下来总有各种各样的问题,这些问题大部分都不影响使用,可能正是因为不影响使用所以一直没得到修复(也有可能别人根本不觉得 ...

  2. Python自动发送邮件(可带附件)

    Python内置对SMTP的支持,可以发送纯文本邮件.HTML邮件以及带附件的邮件. Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件 ...

  3. 【LeetCode】To Lower Case(转换成小写字母)

    这道题是LeetCode里的第709道题. 题目要求: 实现函数 ToLowerCase(),该函数接收一个字符串参数 str,并将该字符串中的大写字母转换成小写字母,之后返回新的字符串. 示例 1: ...

  4. ubuntu14.04 Cannot find OpenSSL's <evp.h>

    Cannot find OpenSSL's <evp.h> when i configure php7 manually,i get trouble with that problem,f ...

  5. 【HTML/XML 2】XML基础知识点总结

    导读:刚开始看到这个名的时候,还以为会和HTML一样呢,结果看完了资料里的视频,才发现是各有千秋.现在,就对XML的基础知识,做一个总结. 一.总体概述 XML(Extensible Markup L ...

  6. jQuery中文文档

    http://www.jquery123.com/ http://www.shifone.cc/

  7. [luoguP1415] 拆分数列(DP)

    传送门 t(i,j)表示下标从i到j的数 d[i]表示以i结尾的最小的数的下标 d[i]=max(j) (1<=j<=i && t(d[j-1],j-1)<t(j,i ...

  8. 【二叉搜索树】hdu 3791

    http://acm.hdu.edu.cn/showproblem.php?pid=3791 [注意] 是看树的形态是否一样,而不是中序遍历的结果 [Accepted] #include<ios ...

  9. mongo 操作符

    1 $unset The $unset operator deletes a particular field. https://docs.mongodb.com/manual/reference/o ...

  10. UOJ#370. 【UR #17】滑稽树上滑稽果

    $n \leq 1e5$个点,每个点有个权值$a_i \leq 2e5$.现将点连成树,每个点$i$的链接代价为$a_i \ \ and \ \ i父亲的代价$,这里的$and$是二进制按位与,求最小 ...