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 相关文章推荐
IE6与IE7中,innerHTML获取param的区别
Mar 15 Javascript
javascript学习笔记(七) js函数介绍
Jun 19 Javascript
JQuery入门——用映射方式绑定不同事件应用示例
Feb 05 Javascript
String.prototype实现的一些javascript函数介绍
Nov 22 Javascript
AngularJS 简单应用实例
Jul 28 Javascript
JS搜狐面试题分析
Dec 16 Javascript
javascript稀疏数组(sparse array)和密集数组用法分析
Dec 28 Javascript
JavaScript事件委托原理与用法实例分析
Jun 07 Javascript
Angular通过指令动态添加组件问题
Jul 09 Javascript
vue中如何实现后台管理系统的权限控制的方法示例
Sep 19 Javascript
vue.js基于v-for实现批量渲染 Json数组对象列表数据示例
Aug 03 Javascript
vue2.* element tabs tab-pane 动态加载组件操作
Jul 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
20个PHP常用类库小结
2011/09/11 PHP
phpExcel导出大量数据出现内存溢出错误的解决方法
2013/02/28 PHP
Yii分页用法实例详解
2014/12/04 PHP
PHP如何使用Memcached
2016/04/05 PHP
动态表格Table类的实现
2009/08/26 Javascript
javascript的数据类型、字面量、变量介绍
2012/05/23 Javascript
js关闭模态窗口刷新父页面或跳转页面
2012/12/13 Javascript
利用js实现选项卡的特别效果的实例
2013/03/03 Javascript
手机平板等移动端适配跳转URL的js代码
2014/01/25 Javascript
jquery左边浮动到一定位置时显示返回顶部按钮
2014/06/05 Javascript
同一个网页中实现多个JavaScript特效的方法
2015/02/02 Javascript
JavaScript sort数组排序方法和自我实现排序方法小结
2016/06/06 Javascript
js实现界面向原生界面发消息并跳转功能
2016/11/22 Javascript
JS多文件上传的实例代码
2017/01/11 Javascript
5种JavaScript脚本加载的方式
2017/01/16 Javascript
vue.js中过滤器的使用教程
2017/06/08 Javascript
Vue异步加载about组件
2017/10/31 Javascript
完美解决手机浏览器顶部下拉出现网页源或刷新的问题
2017/11/30 Javascript
Vue 拦截器对token过期处理方法
2018/01/23 Javascript
JS函数内部属性之arguments和this实例解析
2018/10/07 Javascript
javascript+css实现俄罗斯方块小游戏
2020/06/28 Javascript
让你30分钟快速掌握vue3教程
2020/10/26 Javascript
[02:04]2014DOTA2国际邀请赛 DK一个时代的落幕
2014/07/21 DOTA
[01:15:36]加油刀塔第二期网络版
2014/08/09 DOTA
Python 实现文件打包、上传与校验的方法
2019/02/13 Python
详解H5 活动页之移动端 REM 布局适配方法
2017/12/07 HTML / CSS
索尼巴西商店:Sony巴西
2019/06/21 全球购物
24岁生日感言
2014/01/13 职场文书
学生抄袭作业的检讨书
2014/10/02 职场文书
社区党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
项目负责人岗位职责
2015/02/15 职场文书
个人年终总结结尾
2015/03/06 职场文书
Go 实现英尺和米的简单单位换算方式
2021/04/29 Golang
Java多条件判断场景中规则执行器的设计
2021/06/26 Java/Android
Python常遇到的错误和异常
2021/11/02 Python
CSS 鼠标选中文字后改变背景色的实现代码
2023/05/21 HTML / CSS