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. move_uploaded_file failed to open stream permission denied

    Make sure that: IWPG_user, where user is a system user of the subscription who has rights to "R ...

  2. 【Kubernetes】深入解析声明式API

    在Kubernetes中,一个API对象在Etcd里的完整资源路径,是由:Group(API组).Version(API版本)和Resource(API资源类型)三个部分组成的. 通过这样的结构,整个 ...

  3. BZOJ3122 [Sdoi2013]随机数生成器 【BSGS】

    题目 输入格式 输入含有多组数据,第一行一个正整数T,表示这个测试点内的数据组数. 接下来T行,每行有五个整数p,a,b,X1,t,表示一组数据.保证X1和t都是合法的页码. 注意:P一定为质数 输出 ...

  4. P1754 球迷购票问题 (卡特兰数,递推)

    题目背景 盛况空前的足球赛即将举行.球赛门票售票处排起了球迷购票长龙. 按售票处规定,每位购票者限购一张门票,且每张票售价为50元.在排成长龙的球迷中有N个人手持面值50元的钱币,另有N个人手持面值1 ...

  5. android源码mk文件里的TARGET_OUT指向哪里?

    android源码核心变量大都在build/core/envsetup.mk中建立 在该文件中,可以找到 TARGET_OUT := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_ ...

  6. ElasticSearch中Filter和Query的异同

    如下例子,查找性别是女,所在的州是PA,过滤条件是年龄是39岁,balance大于等于10000的文档: { "query": { "bool": { &quo ...

  7. Error处理: “非法字符: \65279”的解决办法

    将eclipse项目转为maven项目的时候,编译时遇到 “非法字符: \65279”的报错. 出错内容是: *.java:1: 非法字符: \65279    [javac] package com ...

  8. Day 2 操作系统基础

    课前复习新知识 RAID(Redundant Arrays of Independent Disks)独立冗余磁盘阵列 定义:加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵 ...

  9. Python中%r与%s的区别

    %r是rper()方法处理的对象 %s是str()方法处理的对象 其实有些情况下,两者处理的结果是一样的,比如说处理数据类型为int型对象: 例如1: print ('I am %d year old ...

  10. 升级python2至python3解决依赖关系

    1.最小化安装centos7,在升级python3的时候会出现很多包未安装,为解决依赖关系: yum -y install gcc gcc-c++ zlib zlib-devel libffi-dev ...