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 相关文章推荐
JQery 渐变图片导航效果代码 漂亮
Jan 01 Javascript
Jquery 改变radio/checkbox选中状态,获取选中的值(示例代码)
Dec 12 Javascript
使用js判断当前时区TimeZone是否是夏令时
Feb 23 Javascript
jQuery特殊符号转义的实现
Nov 30 Javascript
JavaScript如何实现图片懒加载(lazyload) 提高用户体验(增强版)
Nov 30 Javascript
three.js绘制地球、飞机与轨迹的效果示例
Feb 28 Javascript
利用pm2部署多个node.js项目的配置教程
Oct 22 Javascript
javascript修改浏览器title方法 JS动态修改浏览器标题
Nov 30 Javascript
node将geojson转shp返回给前端的实现方法
May 29 Javascript
微信小程序实现页面分享onShareAppMessage
Aug 12 Javascript
JS监听组合按键思路及实现过程
Apr 17 Javascript
详解JSON.stringify()的5个秘密特性
May 26 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访问带有密码的Redis方法示例
2017/02/09 PHP
浅析php如何实现爬取数据原理
2018/09/27 PHP
PHP设计模式之建造者模式(Builder)原理与用法案例详解
2019/12/12 PHP
PHP 超级全局变量相关总结
2020/06/30 PHP
按下Enter焦点移至下一个控件的实现js代码
2013/12/11 Javascript
javascript使用百度地图api和html5特性获取浏览器位置
2014/01/10 Javascript
JavaScript中用于生成随机数的Math.random()方法
2015/06/15 Javascript
原生javascript实现图片无缝滚动效果
2016/02/12 Javascript
JSONP原理及应用实例详解
2018/09/13 Javascript
nginx部署多个vue项目的方法示例
2020/09/06 Javascript
vue封装自定义指令之动态显示title操作(溢出显示,不溢出不显示)
2020/11/12 Javascript
js实现简单的倒计时
2021/01/28 Javascript
[10:05]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD 选手采访
2021/03/11 DOTA
利用打码兔和超人打码自封装的打码类分享
2014/03/16 Python
python多进程共享变量
2016/04/06 Python
浅谈python中的变量默认是什么类型
2016/09/11 Python
Django学习笔记之ORM基础教程
2018/03/27 Python
如何利用python查找电脑文件
2018/04/27 Python
Python解决pip install时出现的Could not fetch URL问题
2019/08/01 Python
python脚本之一键移动自定格式文件方法实例
2019/09/02 Python
使用Python测试Ping主机IP和某端口是否开放的实例
2019/12/17 Python
CSS3 Media Queries详细介绍和使用实例
2014/05/08 HTML / CSS
css3 transform属性详解
2014/09/30 HTML / CSS
澳大利亚购买最佳炊具品牌网站:Cookware Brands
2019/02/16 全球购物
学前教育教师求职自荐信
2013/09/22 职场文书
畜牧兽医本科生个人的自我评价
2013/10/11 职场文书
社区活动邀请函范文
2014/01/29 职场文书
小学生元旦感言
2014/02/26 职场文书
主管竞聘书范文
2014/03/31 职场文书
《天游峰的扫路人》教学反思
2014/04/25 职场文书
农业局党的群众路线教育实践活动整改方案
2014/09/20 职场文书
个人债务授权委托书范本
2014/10/05 职场文书
2014年语文教研组工作总结
2014/12/06 职场文书
python 办公自动化——基于pyqt5和openpyxl统计符合要求的名单
2021/05/25 Python
Tomcat用户管理的优化配置详解
2022/03/31 Servers
Spring依赖注入多种类型数据的示例代码
2022/03/31 Java/Android