JavaScript中的Array类型是经常用到的,Array类型也提供了很多方法能实现我们需求,下面我们来总结一下

一、创建Array的方法

  1、使用Array构造函数

    var colors=new Array();

    var colors=new Array(3);//创建一个长度为3的数组

    var colors=new Array("red","blue")//创建一个数组["red","blue"]

    当然,上面的new可以省略不写,如 var colors=Array("red");

  2、直接使用数组字面量

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

二、Array的方法1

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

  1、获取数组的长度 colors.length;//3

  2、访问数组第二项colors[1];//blue

  3、更改数据的第二项colors[1]="black";//["red","black","green"]

  4、检查是否是一个数组 colors instanceof Array;//true

  5、colors.toString();//默认会以逗号隔开输出字符串  red,blue,green

  6、colors.join("|");//自定义以“|”隔开输出字符串 red|blue|green

  7、colors.push("brown")//往数组的尾部添加一项

  8、colors.pop()//往数组的尾部删除一项

  9、colors.shift()//删除数组的第一项,并取得该值

  10、colors.unshift("k1","k2")//往数组的前面插入这两项;["k1","k2","red","blue","green"];

  11、colors.reverse()//翻转数组的顺序

  12、colors.sort()或者colors.sort([func]);

  13、concat() 返回一个新数组,不影响原数组 colors.concat()或者colors.concat("k1");

  14、slice(begin,end)从数组下标begin开始到end复制这个数据,不包括下标end,如果是slice(begin)那么就是从下标begin开始到数组的尾部

  15、splice

    splice(0,2)//从下标0开始删除数组的两项

    splice(2,0,"k1","k2")从下标2开始删除0项,紧接着从这里插入两项

    splice(2,1,"k1")//从下标2开始删除一项,紧接着从这里插入一项

  16、indexOf("item")//从数组头开始查找某项,找到后返回下标值,找不到返回-1

  17、lastIndexOf("item")//从数组尾开始查找某项,找到后返回下标值,找不到返回-1

三、Array方法2:迭代方法(ECMAScript5)

  1、every():对数组的每一项运行给定的函数,每一项都返回true,则返回true(不影响原数组)

var numbers=[1,2,3,2,1];
//判断是否每个数字都大于2
var flag=numbers.every(function (item,index,array) {
return item>2;
});

  2、filter():对数组中每一项运行给定的函数,返回该函数为true的项(不影响原数组)

var numbers=[1,2,3,2,1];
//返回大于2的项
var array=numbers.filter(function (item,index,array) {
return item>2;
});

  3、forEach():对数组中的每一项执行给定的函数,不返回值 (不影响原数组)

var numbers=[1,2,3,2,1];
//输出每一项的平方
numbers.forEach(function (item,index,array) {
console.log(item*2);
});

  4、map():对数组的每一项执行给定的函数,返回每次函数调用后结果组成的数组(不影响原数组)

var numbers=[1,2,3,2,1];
//返回每一项的平方
var array=numbers.map(function (item,index,array) {
return item*item;
});

  5、some():对数组的每一项执行给定的函数,如果有一项返回true则,则返回true

var numbers=[1,2,3,2,1];
var flag=numbers.some(function (item,index,array) {
return item>2
});

三、Array方法3:归并方法(ECMAScript5)

  1、reduce()方法从数组的第一行开始,逐个遍历到最后

  2、reduceRight()方法从数组的最后一项开始,逐个向前遍历

var numbers=[1,2,3,4,5];
var result=numbers.reduce(function (prev,cur,index,array) {
//prev:前一个运算的结果,刚开始时候为数字的第一项
//cur:数组的当前项
//index:当前数组的下标
//array:执行这个运算的数组,当前为numbers
console.log("prev:"+prev);
console.log("cur:"+cur);
console.log("index:"+index);
console.log("array:"+array);
console.log("=============");
return prev+cur;
});

JavaScript 数组-Array的方法总结的更多相关文章

  1. Javascript数组Array的方法总结!

    1.join() 将数组的元素组成一个字符串,以分隔符连接,如果省略则默认逗号为分隔符,该方法只接收一个参数:分隔符.此方法不会改变原数组. let arr = [1,2,3,4] let arr1 ...

  2. Javascript数组Array的forEach方法

    Javascript数组Array的forEach扩展方法 forEach是最常用到的数组扩展方法之一,相当于参数化循环数组,它简单的在数组的每一个元素上应用传入的函数,这也意味着只有存在的元素会被访 ...

  3. JavaScript 数组(Array)对象的方法

    JavaScript 数组(Array)对象的方法 concat() 描述:用于连接两个或多个数组.该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本. 原型:arrayObject.conc ...

  4. js 判断数组包含某值的方法 和 javascript数组扩展indexOf()方法

    var  questionId = []; var anSwerIdValue = []; ////javascript数组扩展indexOf()方法 Array.prototype.indexOf ...

  5. javascript数组Array强大的splice()方法

    javascript的Array数组提供了强大的splice()方法, 用于对数组元素的增删改 1.删除-用于删除元素,两个参数,第一个参数(要删除第一项的位置),第二个参数(要删除的项数) 删除: ...

  6. JavaScript 数组(Array)方法汇总

    数组(Array)常用方法; 数组常用的方法:concat(),every(), filter(), forEach(),  indexOf(), join(), lastIndexOf(), map ...

  7. Javascript数组求和的方法总结 以及由斐波那契数列得到的启发

    一次面试中,面试官要求用三种不同的Javascript方法进行一个数字数组的求和,当时思来想去只想到了使用循环这一种笨方法,因此面试比较失败,在这里总结了六种Javascript进行数组求和的方法,以 ...

  8. JavaScript 数组(Array)对象

    Array 对象 Array 对象用于在单个的变量中存储多个值. 创建 Array 对象的语法: new Array(); new Array(size); new Array(element0, e ...

  9. JavaScript 数组相关基础方法

    文章来源于:https://www.cnblogs.com/dolphinX/p/3353590.html 创建数组 构造函数 1.无参构造函数,创建一空数组 var a1=new Array(); ...

随机推荐

  1. Java数据库编程——事务

    我们可以将一组语句构建成一个事务(transaction).当所有语句都顺利执行之后,事务可以提交(commit).否则,如果其中某个语句遇到错误,那么事务将被回滚,就好像没有任何语句被执行过一样. ...

  2. Linux自定义应用程序及其菜单图标

    在Linux桌面系统中,如果需要自己添加一个应用程序,如果是标准的bin, lib, share结构,我通常将其放在/usr/local/bin中.如果非这样,或者程序文件很多,易造成Linux系统目 ...

  3. SQL手工注入小结

    第一步先把IE菜单=>工具=>Internet选项=>高级=>显示友好 HTTP 错误信息前面的勾去掉.否则,不论服务器返回什么错误,IE都只显示为HTTP 500服务器错误, ...

  4. Mac 清除/修改SSH的私钥密码

    我之前在Mac下用命令ssh-keygen生成密钥,并且安全起见为密钥设置了密码,这样导致后来每次我git push时,都要输入一次密码: Enter pass phrase for /Users/z ...

  5. MVC工作原理

    MVC(Model-View-Controller,模型—视图—控制器模式)用于表示一种软件架构模式.它把软件系统分为三个基本部分:模型(Model),视图(View)和控制器(Controller) ...

  6. 给ubuntu设置静态ip —— How to set static IP Address in Ubuntu Server 16.04

    原文: http://www.configserverfirewall.com/ubuntu-linux/ubuntu-set-static-ip-address/ ----------------- ...

  7. Asp.Net生成无限级菜单

    首先创建SQL脚本 ) DROP TABLE [Menu] CREATE TABLE [Menu] ( , ) NOT NULL, ) NULL, ), ) NULL, ), [AddTime] [d ...

  8. 解决rails4.0中send_file文件下载两次的问题

    之前在开发文件下载的功能时,我遇到了一个很奇怪的问题,点击下载链接,在chrome console中会出现两次请求,第一次返回200,下载的数据缓存在chrome的cache中,第二次返回304,直接 ...

  9. Tomcat启动报错:java.net.BindException: Cannot assign requested address: JVM_Bind

    Tomcat启动报错:java.net.BindException: Cannot assign requested address: JVM_Bind Tomcat Cannot assign re ...

  10. js调试工具console方法详解

    一.显示信息的方法 最常用的console.log(),一般用来调试. console.log('hello'); console.info('信息'); console.error('错误'); c ...