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代码
Jun 27 Javascript
jquery 学习笔记 传智博客佟老师附详细注释
Sep 12 Javascript
js过滤数组重复元素的方法
Sep 05 Javascript
仅img元素创建后不添加到文档中会执行onload事件的解决方法
Jul 31 Javascript
超级简单的jquery操作表格方法
Dec 15 Javascript
jQuery寻找n以内完全数的方法
Jun 24 Javascript
JQuery实现简单的图片滑动切换特效
Nov 22 Javascript
浅谈jquery的html方法里包含特殊字符的处理
Nov 30 Javascript
jQuery实现IE输入框完成placeholder标签功能的方法
Sep 20 jQuery
Node.js微信 access_token ( jsapi_ticket ) 存取与刷新的示例
Sep 30 Javascript
javascript实现导航栏分页效果
Jun 27 Javascript
Vue组件为什么data必须是一个函数
Jun 11 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脚本的10个技巧(7)
2006/10/09 PHP
解析php5配置使用pdo
2013/07/03 PHP
php中实现用数组妩媚地生成要执行的sql语句
2015/07/10 PHP
jQuery的控件及事件(输入控件及回车事件)使用示例
2013/07/25 Javascript
Javascript核心读书有感之词法结构
2015/02/01 Javascript
AngularJS模块管理问题的非常规处理方法
2015/04/29 Javascript
基于javascript实现彩票随机数生成(简单版)
2020/04/17 Javascript
vue.js表格分页示例
2016/10/18 Javascript
微信小程序 检查接口状态实例详解
2017/06/23 Javascript
在vue中添加Echarts图表的基本使用教程
2017/11/22 Javascript
Angular网络请求的封装方法
2018/05/22 Javascript
JavaScript实现的鼠标跟随特效示例【2则实例】
2018/12/22 Javascript
小程序日历控件使用方法详解
2018/12/29 Javascript
ES6基础之默认参数值
2019/02/21 Javascript
微信小程序BindTap快速连续点击目标页面跳转多次问题处理
2019/04/08 Javascript
Vue CLI4 Vue.config.js标准配置(最全注释)
2020/06/05 Javascript
Javascript基于OOP实实现探测器功能代码实例
2020/08/26 Javascript
[59:32]Liquid vs Fnatic 2019国际邀请赛淘汰赛败者组BO1 8.20.mp4
2020/07/19 DOTA
Python随机数random模块使用指南
2016/09/09 Python
python+django加载静态网页模板解析
2017/12/12 Python
Python 3.6 读取并操作文件内容的实例
2018/04/23 Python
详解Django解决ajax跨域访问问题
2018/08/24 Python
Python函数中参数是传递值还是引用详解
2019/07/02 Python
pytorch 自定义数据集加载方法
2019/08/18 Python
Django文件上传与下载(FileFlid)
2019/10/06 Python
Python 解码Base64 得到码流格式文本实例
2020/01/09 Python
Python实现王者荣耀自动刷金币的完整步骤
2021/01/22 Python
雅诗兰黛旗下专业男士保养领导品牌:Lab Series
2017/05/15 全球购物
初三化学教学反思
2014/01/23 职场文书
大专毕业自我鉴定
2014/02/04 职场文书
两只小狮子教学反思
2014/02/05 职场文书
养牛场项目建议书
2014/05/13 职场文书
图书馆志愿者活动总结
2014/06/27 职场文书
争先创优演讲稿
2014/09/15 职场文书
群众路线教育实践活动整改落实情况汇报
2014/10/28 职场文书
利用python调用摄像头的实例分析
2021/06/07 Python