JS中Array数组学习总结


Posted in Javascript onJanuary 18, 2017

引用类型分为Object类型(所谓的对象),Array类型(本文谈的数组),Function类型等。

那么,数组是干啥的呢?在我看来,它是用来保存数据的。

一、声明一个数组:

1、构造函数 var colors=new Array();简写的话可以省略new,即var colors=Array();

2、数组字面量 var colors=["black","green","pink"];

二、读取和设置数组的值:

读取:colors[x];参数x为0~colors.length-1;

设置的话直接给colors[x]=进行赋值就好,这样会覆盖之前的数值哦;

三、在这里简单说说length的用法:

colors.length获取数组的长度,也可以说是数组有几项,如果说一个数组有7项,但是你写入了colors.length=2,那么就会删除后面的5项;

利用length属性也可以为数组最后添加数据:colors[colors.length]=进行赋值;

四、数组中的操作:

方法 作用 返回值
Array.push(x,y,z) 把xyz添加到数组末尾 新数组长度
Array.pop() 移除数组最后一项 移除的最后一项
Array.shift() 移除数组第一项 移除的第一项
Array.unshift(a,b,c) 在数组前端添加a,b,c 新数组长度
Array.reverse() 反转数组 反转后的新数组
Array.sort() 对数组中每一项的字符串进行升序排列 重新排序后的数组
Array.concat(a,b,c) 连接数组 返回连接好的新数组
Array.slice(1,n) 截取数组,从1到n,1和n为索引值 返回截取的数组(在这里返回从1开始,到n之前结束)
Array.indexOf(a,start) 查找a的所在的位置,从start开始 返回a所在的索引值,如果没有查找到则返回-1
Array.lastIndexOf(a,atart) 与indexOf相反,lastIndexOf从末尾开始查找 返回a所在的索引值,如果没有查找到则返回-1

splice()方法单拿出来说说。为什么单拿出来?因为牛逼;

1.删除。接受两个参数:要删除第一项的位置和要删除的项数;

例:splice(1,2),就是要删除数组种的2,3项;

2.插入。接受三个参数:起始位置,0,要插入的项。

例:splice(2,0,"red","green"),会在数组索引值为2的位置插入red和green。

3.替换。接受三个参数:起始位置,要删除的项数,要插入的项。

例:splice(2,1,"red","green"),删除索引值为2这一项,添加red和green。

tips:sort()用法实例:按升序排列数组
function compare(val1,val2){
if(val1<val2){
return -1;
}else if(val1>val2){
return 1;
}else{
retuen 0
}
}
var num=[0,2,9,3,1];
num.sort(compare);
alert(num);//0,1,2,3,9

 五。数组中的迭代方法

1.every()和some():

查询数组中的每一项是否满足条件,如果每一项都返回true,则result返回true。
var numbers=[0,1,2,3,4];
var result=numbers.every(function(item,index,array){
return (item>2)
})
alert(result);//false
查询数组中的每一项是否满足条件,如果有一项都返回true,则result返回true。
var numbers=[0,1,2,3,4];
var result=numbers.some(function(item,index,array){
return (item>2)
})
alert(result);//true

2.filter():

该方法会返回结果为true的项组成的数组;

3.map():

var result=numbers.map(function(item,index,array){
return item*2;
})

返回数组执行完参数之后的新数组。

六、归并

Array.reduce()

var numbers=[1,2,3,4,5];
var sum=numbers.reduce(function(prev,cur,index,array){
return prev+cur
})
alert(sum);

在上个例子中,reduce()接受四个参数,第一个参数是数组的第一项,第二个参数是数组的第二项;

第一次执行函数,prev是1,cur是2,第二次执行,prev是3(1+2的结果),cur是3。

Array.reduceRight()。和reduce类似。只不过从数组右侧开始。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
拖动布局之保存布局页面cookies篇
Oct 29 Javascript
禁用页面部分JavaScript方法的具体实现
Jul 31 Javascript
JQuery包裹DOM节点的方法
Jun 11 Javascript
JavaScript学习总结之JS、AJAX应用
Jan 29 Javascript
JS图片等比例缩放方法完整示例
Aug 03 Javascript
同步文本框内容JS代码实现
Aug 04 Javascript
谈谈第三方App接入微信登录 解读
Dec 27 Javascript
前端编码规范(3)JavaScript 开发规范
Jan 21 Javascript
jquery 给动态生成的标签绑定事件的几种方法总结
Feb 24 jQuery
微信小程序下拉框组件使用方法详解
Dec 28 Javascript
深入浅析Vue 中 ref 的使用
Apr 29 Javascript
javascript设计模式 ? 简单工厂模式原理与应用实例分析
Apr 09 Javascript
原生javascript实现图片放大镜效果
Jan 18 #Javascript
jQuery Validation Engine验证控件调用外部函数验证的方法
Jan 18 #Javascript
原生js实现回复评论功能
Jan 18 #Javascript
js实现表格筛选功能
Jan 18 #Javascript
js放大镜放大购物图片效果
Jan 18 #Javascript
详解vue 中使用 AJAX获取数据的方法
Jan 18 #Javascript
easyui 中的datagrid跨页勾选问题的实现方法
Jan 18 #Javascript
You might like
PHP获取文件扩展名的方法实例总结
2017/06/10 PHP
phpinfo的知识点总结
2019/10/10 PHP
Firefox+FireBug使JQuery的学习更加轻松愉快
2010/01/01 Javascript
uploadify 3.0 详细使用说明
2012/06/18 Javascript
什么是 AngularJS?AngularJS简介
2014/12/06 Javascript
JavaScript实现身份证验证代码
2016/02/17 Javascript
js+css实现回到顶部按钮(back to top)
2016/03/02 Javascript
jQuery UI库中dialog对话框功能使用全解析
2016/04/23 Javascript
Active控件问题小结(附解决办法)
2016/06/09 Javascript
Jq通过td获取同行其它列td的方法
2016/10/05 Javascript
在axios中使用params传参的时候传入数组的方法
2018/09/25 Javascript
微信小程序学习笔记之表单提交与PHP后台数据交互处理图文详解
2019/03/28 Javascript
jQuery子选择器与可见性选择器实例分析
2019/06/28 jQuery
vue中上传视频或图片或图片和文字一起到后端的解决方法
2019/12/01 Javascript
微信小程序仿抖音视频之整屏上下切换功能的实现代码
2020/05/24 Javascript
JavaScript实现拖动对话框效果的实现代码
2020/10/12 Javascript
[48:51]完美世界DOTA2联赛PWL S2 Magma vs InkIce 第一场 11.28
2020/12/02 DOTA
巧用python和libnmapd,提取Nmap扫描结果
2016/08/23 Python
Python matplotlib通过plt.scatter画空心圆标记出特定的点方法
2018/12/13 Python
Django 静态文件配置过程详解
2019/07/23 Python
python实现密度聚类(模板代码+sklearn代码)
2020/04/27 Python
opencv之颜色过滤只留下图片中的红色区域操作
2020/06/05 Python
selenium学习教程之定位以及切换frame(iframe)
2021/01/04 Python
寻找完美的房车租赁:RVShare
2019/02/23 全球购物
趣天网日本站:Qoo10 JP
2019/09/18 全球购物
加拿大拼图大师:Puzzle Master
2020/12/28 全球购物
数字漫画:comiXology
2020/06/13 全球购物
C语言笔试集
2012/07/24 面试题
init进程的作用
2012/04/12 面试题
医学专业毕业生个人的求职信
2013/12/04 职场文书
机械设计及其自动化求职推荐信
2014/02/17 职场文书
领导干部廉政承诺书
2014/03/27 职场文书
2015年中个人总结范文
2015/03/10 职场文书
为什么中国式养孩子很累?
2019/08/07 职场文书
一条慢SQL语句引发的改造之路
2022/03/16 MySQL
Java实现二分搜索树的示例代码
2022/03/17 Java/Android