JavaScript 数组- Array的方法总结(推荐)


Posted in Javascript onJuly 21, 2016

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

一、创建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的方法总结(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS控制日期显示的小例子
Nov 23 Javascript
js function定义函数的几种不错方法
Feb 27 Javascript
js动态往表格的td中添加图片并注册事件
Jun 12 Javascript
JavaScript跨浏览器获取页面中相同class节点的方法
Mar 03 Javascript
JavaScript实现常用二级省市级联下拉列表的方法
Mar 25 Javascript
js原型链与继承解析(初体验)
May 09 Javascript
深入理解Angularjs中$http.post与$.post
May 19 Javascript
javascript使用正则实现去掉字符串前面的所有0
Jul 23 Javascript
200行HTML+JavaScript实现年会抽奖程序
Jan 22 Javascript
p5.js实现故宫橘猫赏秋图动画
Oct 23 Javascript
layui table表格数据的新增,修改,删除,查询,双击获取行数据方式
Nov 14 Javascript
JS实现盒子拖拽效果
Feb 06 Javascript
完美JQuery图片切换效果的简单实现
Jul 21 #Javascript
jQuery的ajax下载blob文件
Jul 21 #Javascript
picLazyLoad 实现图片延时加载(包含背景图片)
Jul 21 #Javascript
浅谈DOCTYPE对$(window).height()取值的影响
Jul 21 #Javascript
jQuery新窗口打开外链接
Jul 21 #Javascript
JS for循环中i++ 和 ++i的区别介绍
Jul 20 #Javascript
javascript和jQuery实现网页实时聊天的ajax长轮询
Jul 20 #Javascript
You might like
php&java(三)
2006/10/09 PHP
遍历指定目录下的所有目录和文件的php代码
2011/11/27 PHP
PhpDocumentor 2安装以及生成API文档的方法
2014/05/21 PHP
基于jquery完美拖拽,可返回拖动轨迹
2012/03/29 Javascript
浅析js中2个等号与3个等号的区别
2013/08/06 Javascript
jquery仅用6行代码实现滑动门效果
2015/09/07 Javascript
jQuery密码强度检测插件passwordStrength用法实例分析
2015/10/30 Javascript
JS中使用DOM来控制HTML元素
2016/07/31 Javascript
利用node.js写一个爬取知乎妹纸图的小爬虫
2017/05/03 Javascript
Javascript 严格模式use strict详解
2017/09/16 Javascript
vue.js实现只弹一次弹框
2018/01/29 Javascript
Vue.js实现可配置的登录表单代码详解
2018/03/29 Javascript
Linux Centos7.2下安装nodejs&npm配置全局路径的教程
2018/05/15 NodeJs
vuex进阶知识点巩固
2018/05/20 Javascript
[34:39]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#1COL VS EG第二局
2016/03/05 DOTA
[04:05]TI9战队采访 - Natus Vincere
2019/08/22 DOTA
python SMTP实现发送带附件电子邮件
2018/05/22 Python
Python中的random.uniform()函数教程与实例解析
2019/03/02 Python
python抓取需要扫微信登陆页面
2019/04/29 Python
Python 实现数组相减示例
2019/12/27 Python
Python中用pyinstaller打包时的图标问题及解决方法
2020/02/17 Python
Python3读取和写入excel表格数据的示例代码
2020/06/09 Python
了解一下python内建模块collections
2020/09/07 Python
Python如何急速下载第三方库详解
2020/11/02 Python
详解Python+Selenium+ChromeDriver的配置和问题解决
2021/01/19 Python
input元素的url类型和email类型简介
2012/07/11 HTML / CSS
Stubhub英国:购买体育、演唱会和剧院门票
2018/06/10 全球购物
Reformation官网:美国女装品牌
2018/09/14 全球购物
日语系毕业生推荐信
2013/11/11 职场文书
工作人员思想汇报
2014/01/09 职场文书
家庭教育先进个人事迹材料
2014/01/24 职场文书
2014年党务公开方案
2014/05/08 职场文书
刑事辩护授权委托书
2014/09/13 职场文书
优秀党员自我评价范文
2014/09/15 职场文书
2014年绿化工作总结
2014/12/09 职场文书
解决spring.thymeleaf.cache=false不起作用的问题
2022/06/10 Java/Android