JavaScript 数组-Array的方法总结
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的方法总结的更多相关文章
- Javascript数组Array的方法总结!
1.join() 将数组的元素组成一个字符串,以分隔符连接,如果省略则默认逗号为分隔符,该方法只接收一个参数:分隔符.此方法不会改变原数组. let arr = [1,2,3,4] let arr1 ...
- Javascript数组Array的forEach方法
Javascript数组Array的forEach扩展方法 forEach是最常用到的数组扩展方法之一,相当于参数化循环数组,它简单的在数组的每一个元素上应用传入的函数,这也意味着只有存在的元素会被访 ...
- JavaScript 数组(Array)对象的方法
JavaScript 数组(Array)对象的方法 concat() 描述:用于连接两个或多个数组.该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本. 原型:arrayObject.conc ...
- js 判断数组包含某值的方法 和 javascript数组扩展indexOf()方法
var questionId = []; var anSwerIdValue = []; ////javascript数组扩展indexOf()方法 Array.prototype.indexOf ...
- javascript数组Array强大的splice()方法
javascript的Array数组提供了强大的splice()方法, 用于对数组元素的增删改 1.删除-用于删除元素,两个参数,第一个参数(要删除第一项的位置),第二个参数(要删除的项数) 删除: ...
- JavaScript 数组(Array)方法汇总
数组(Array)常用方法; 数组常用的方法:concat(),every(), filter(), forEach(), indexOf(), join(), lastIndexOf(), map ...
- Javascript数组求和的方法总结 以及由斐波那契数列得到的启发
一次面试中,面试官要求用三种不同的Javascript方法进行一个数字数组的求和,当时思来想去只想到了使用循环这一种笨方法,因此面试比较失败,在这里总结了六种Javascript进行数组求和的方法,以 ...
- JavaScript 数组(Array)对象
Array 对象 Array 对象用于在单个的变量中存储多个值. 创建 Array 对象的语法: new Array(); new Array(size); new Array(element0, e ...
- JavaScript 数组相关基础方法
文章来源于:https://www.cnblogs.com/dolphinX/p/3353590.html 创建数组 构造函数 1.无参构造函数,创建一空数组 var a1=new Array(); ...
随机推荐
- 详解vue静态资源打包中的坑与解决方案
本文主要解决: 1.vue-cli默认配置打包后部署至特定路径下静态资源路径错误问题; 2.静态资源打包使用相对路径后css文件引入图片路径错误问题. 一.问题 vue-cli 脚手架生成的默认打包配 ...
- svn取消文件夹关联的方法(svn取消关联)
新建个记事本,贴入以下代码,保存后重命名后缀为reg,然后在目标文件夹右键就出现了删除SVN的选项了. 复制代码 代码如下: Windows Registry Editor Version 5.00[ ...
- Spark2-对于Null/Nan的处理
一.几种查找空值的方法 1.Column方法 column.isNull/column.isNotNull/column.isNaN 2.类sql方法 二.na方法 2.1 na.drop方法 2.1 ...
- Druid对比Redshift
Redshift 内部使用了亚马逊取得了授权的ParAccel 实时注入数据 抛开可能的性能不同, 有功能性的不同 Druid 适合分析大数据量的流式数据, 也能够实时加载和聚合数据一般来讲, 传统的 ...
- (转) java中try/catch性能和原理
stackoverflow上有一个讨论,参与的人还挺多: https://stackoverflow.com/questions/141560/should-try-catch-Go-inside-o ...
- 转: APK签名校验绕过
转: http://drops.wooyun.org/mobile/4296 APK签名校验绕过 3xpl0it · 2014/12/11 10:41 0x01 Android签名机制 将APK重命名 ...
- Android TabHost控件 右侧留空并增加按钮
涉及公司内部程序,部分地方进行模糊处理. 公司Android程序的一个子程序UI要进行改版,最初的UI添加按钮是在内容区,而且TabHost空间是正常的标题平均分布.如下图(其实这是改版的第一版,没有 ...
- [置顶] 原创鼠标拖动实现DIV排序
先上效果图: 对比传统的排序,这是一个很不错的尝试,希望对大家有启发. 大家可以参考我的上一篇博文:http://blog.csdn.net/littlebo01/article/details/12 ...
- iOS工程中的info.plist文件的完整研究
原地址:http://blog.sina.com.cn/s/blog_947c4a9f0100zf41.html 们建立一个工程后,会在Supporting files下面看到一个"工程名- ...
- 算法笔记_055:蓝桥杯练习 Tricky and Clever Password (Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 在年轻的时候,我们故事中的英雄——国王 Copa——他的私人数据并不是完全安全地隐蔽.对他来说是,这不可接受的.因此,他发明了一种密码,好 ...