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 相关文章推荐
jQuery 动画基础教程
Dec 25 Javascript
Jquery uploadify图片上传插件无法上传的解决方法
Dec 16 Javascript
javascript动态向网页中添加表格实现代码
Feb 19 Javascript
javascript等号运算符使用详解
Apr 16 Javascript
jQuery焦点图插件SaySlide
Dec 21 Javascript
JavaScript学习笔记整理之引用类型
Jan 22 Javascript
浅谈js中startsWith 函数不能在任何浏览器兼容的问题
Mar 01 Javascript
AngularJS使用$http配置对象方式与服务端交互方法
Aug 13 Javascript
微信小程序跨页面数据传递事件响应实现过程解析
Dec 19 Javascript
使用element-ui +Vue 解决 table 里包含表单验证的问题
Jul 17 Javascript
基于vue实现简易打地鼠游戏
Aug 21 Javascript
在 HTML 页面中使用 React的场景分析
Jan 18 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在项目中寻找代码的坏味道(综艺命名)
2012/07/19 PHP
关于PHP的相似度计算函数:levenshtein的使用介绍
2013/04/15 PHP
phpStudy vscode 搭建debug调试的教程详解
2020/07/28 PHP
PJ Blog修改-禁止复制的代码和方法
2006/10/25 Javascript
jQuery Ajax 实例全解析
2011/04/20 Javascript
jQuery 阴影插件代码分享
2012/01/09 Javascript
jQuery实现的数值范围range2dslider选取插件特效多款代码分享
2015/08/27 Javascript
JavaScript Promise 用法
2016/06/14 Javascript
JS实现对中文字符串进行utf-8的Base64编码的方法(使其与Java编码相同)
2016/06/21 Javascript
jQuery实现的购物车物品数量加减功能代码
2016/11/16 Javascript
解决Window10系统下Node安装报错的问题分析
2016/12/13 Javascript
JS实现复制功能
2017/03/01 Javascript
JavaScript数据结构之优先队列与循环队列实例详解
2017/10/27 Javascript
基于nodejs实现微信支付功能
2017/12/20 NodeJs
对Vue- 动态元素属性及v-bind和v-model的区别详解
2018/08/27 Javascript
Vue路由对象属性 .meta $route.matched详解
2019/11/04 Javascript
jQuery实现验证用户登录
2019/12/10 jQuery
Postman如何实现参数化执行及断言处理
2020/07/28 Javascript
Python实现远程调用MetaSploit的方法
2014/08/22 Python
python使用append合并两个数组的方法
2015/04/28 Python
用Python操作字符串之rindex()方法的使用
2015/05/19 Python
Linux中安装Python的交互式解释器IPython的教程
2016/06/13 Python
python数据预处理之将类别数据转换为数值的方法
2017/07/05 Python
python 采用paramiko 远程执行命令及报错解决
2019/10/21 Python
flask框架自定义过滤器示例【markdown文件读取和展示功能】
2019/11/08 Python
pycharm sciview的图片另存为操作
2020/06/01 Python
python获取linux系统信息的三种方法
2020/10/14 Python
Myprotein意大利官网:欧洲第一运动营养品牌
2018/11/22 全球购物
化工专业推荐信范文
2013/11/28 职场文书
高级护理专业毕业生推荐信
2013/12/25 职场文书
2014升学宴答谢词
2014/01/26 职场文书
纪念9.18事变演讲稿
2014/09/14 职场文书
国际残疾人日广播稿范文
2014/10/09 职场文书
结婚保证书(三从四德)
2015/02/26 职场文书
java开发双人五子棋游戏
2022/05/06 Java/Android
LeetCode189轮转数组python示例
2022/08/05 Python