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. gg mirror

    https://gufen.ga/ (无广告,原guso.ml,ggso.ga,guge.ga) https://a.aiguso.tk (无广告,体验良好) https://a.freedo.gq/ ...

  2. iOS-MVC设计模式不足

    View 的最大的任务就是向 Controller 传递用户动作事件. ViewController 不再承担一切代理和数据源的职责,通常只负责一些分发和取消网络请求以及一些其他的任务. 1.1 苹果 ...

  3. angular 组件之间传值

    /** * Created by Administrator on 2017/8/28. */ var app =angular.module('app',[]); app.directive('fo ...

  4. selenium常见控件操作

    下拉选择框 第一种方法:from selenium.webdriver.support.select import Select# 实例化一个Select类的对象 selector = Select( ...

  5. mysql 处理数据库中的重复行

    1.对于主键和唯一索引,可以用IGNORE关键字,遇到重复记录会直接忽略插入记录,返回0.insert ignore into table_name ('id','name') values (1,' ...

  6. Codeforces Round #362 (Div. 2)

    闲来无事一套CF啊,我觉得这几个题还是有套路的,但是很明显,这个题并不难 A. Pineapple Incident time limit per test 1 second memory limit ...

  7. HDU-4738 Caocao's Bridges,注意重边不是桥!

    Caocao's Bridges 题意:曹操赤壁之战后卷土重来,他在n个小岛之间建立了m座桥.现在周瑜只有一颗炮弹,他只能炸毁一座桥使得这些岛屿不再连通.每座桥上都可能会有士兵把手,如果想安放***那 ...

  8. BZOJ 3205 [Apio2013]机器人 ——斯坦纳树

    腊鸡题目,实在卡不过去. (改了一下午) 就是裸的斯坦纳树的题目,一方面合并子集,另一方面SPFA迭代求解. 优化了许多地方,甚至基数排序都写了. 还是T到死,不打算改了,就这样吧 #include ...

  9. Java 线程池的原理与实现学习(一)

    线程池:多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力.    假设一个服务器完成一项任务所需时间为:T1 创建线程时间,T2 在线程中 ...

  10. docker命令解析

    1.docker run --name lllllll  -d -p 8080:8080 -p 9000:9000  镜像id          将docker8080端口映射到服务器的8080端口 ...