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 相关文章推荐
js树形控件脚本代码
Jul 24 Javascript
在HTML代码中使用JavaScript代码的例子
Oct 16 Javascript
Javascript基础教程之while语句
Jan 18 Javascript
简介JavaScript中setUTCSeconds()方法的使用
Jun 12 Javascript
JS实现三级折叠菜单特效,其它级可自动收缩
Aug 06 Javascript
JS对象创建的几种方式整理
Feb 28 Javascript
javascript实现延时显示提示框效果
Jun 01 Javascript
JS实现中英文混合文字溢出友好截取功能
Aug 06 Javascript
element-ui 的el-button组件中添加自定义颜色和图标的实现方法
Oct 26 Javascript
js删除对象/数组中null、undefined、空对象及空数组方法示例
Nov 14 Javascript
Angular使用ControlValueAccessor创建自定义表单控件
Mar 08 Javascript
基于Node.js的大文件分片上传示例
Jun 19 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二维数组排序与默认自然排序的方法介绍
2013/04/27 PHP
php的debug相关函数用法示例
2016/07/11 PHP
PHP实现表单提交数据的验证处理功能【防SQL注入和XSS攻击等】
2017/07/21 PHP
JavaScript初学者需要了解10个小技巧
2010/08/25 Javascript
Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
2013/11/14 Javascript
js动态创建上传表单通过iframe模拟Ajax实现无刷新
2014/02/20 Javascript
jQuery实现鼠标滑过点击事件音效试听
2015/08/31 Javascript
Bootstrap CSS组件之按钮组(btn-group)
2016/12/17 Javascript
js实现兼容PC端和移动端滑块拖动选择数字效果
2017/02/16 Javascript
创建简单的node服务器实例(分享)
2017/06/23 Javascript
微信小程序 swiper组件构建轮播图的实例
2017/09/20 Javascript
在vue-cli搭建的项目中增加后台mock接口的方法
2018/04/26 Javascript
JS获取今天是本月第几周、本月共几周、本月有多少天、是今年的第几周、是今年的第几天的示例代码
2018/12/05 Javascript
webpack-mvc 传统多页面组件化开发详解
2019/05/07 Javascript
Vue 中可以定义组件模版的几种方式
2019/08/06 Javascript
利用原生JS实现欢乐水果机小游戏
2020/04/23 Javascript
[01:29:42]Liquid vs VP Supermajor决赛 BO 第一场 6.10
2018/07/05 DOTA
[00:08]DOTA2勇士令状等级奖励“天外飞星”
2019/05/24 DOTA
利用ctypes提高Python的执行速度
2016/09/09 Python
python实现比较类的两个instance(对象)是否相等的方法分析
2019/06/26 Python
使用coverage统计python web项目代码覆盖率的方法详解
2019/08/05 Python
django项目登录中使用图片验证码的实现方法
2019/08/15 Python
OpenCV 表盘指针自动读数的示例代码
2020/04/10 Python
Python 判断时间是否在时间区间内的实例
2020/05/16 Python
Python 使用生成器代替线程的方法
2020/08/04 Python
Scrapy基于scrapy_redis实现分布式爬虫部署的示例
2020/09/29 Python
会计专业应届生自荐信
2014/02/07 职场文书
感恩寄语大全
2014/04/11 职场文书
文秘个人求职信范文
2014/04/22 职场文书
爱我中华教学反思
2014/04/28 职场文书
大学生应聘求职信
2014/05/26 职场文书
应届生求职自荐信
2014/07/04 职场文书
电子商务专业求职信
2014/07/10 职场文书
中学生旷课检讨书模板
2014/10/08 职场文书
经典搞笑版检讨书
2015/02/19 职场文书
python套接字socket通信
2022/04/01 Python