javascript学习笔记(五) Array 数组类型介绍


Posted in Javascript onJune 19, 2012

数组的创建
第一种:

var colors = new Array(); 
var colors = new Array(20);//创建包含20项的数组 
var colors = new Array("Greg");//创建包含1项,即字符串"Greg"的数组 
var colors = new Array("red","blue","green"); //创建包含3项

第二种:
var colors = ["red","blue","green"]; 
var colors = [];//创建一个空数组

注意:数组的索引是从0开始的

1. length属性
length属性中保存数组的项数,如:

var colors = ["red","blue","green"]; 
alert(colors.length); //3

length属性不是只读的,可以利用length属性在数组的末尾移除项,或者添加新的项,如:
var colors = ["red","blue","green"]; 
colors.length = 2; 
alert(colors); //red,blue 
colors[colors.length] = "black"; 
alert(colors); //red,blue,black

2.join()方法,连接数组中的项
var colors = ["red","blue","green"]; 
alert(colors.join(",")); //red,blue,green 
alert(colors.join("||")); //red||blue||green

3.数组的栈方法:push()和pop()
push()方法 可以接受任意数量的参数把它们逐个添加的数组的末尾,并返回修改后数组的长度
pop()方法 从数组末尾移除最后一项,减少数组的length值,返回移除的项
var colors = new Arrary(); //创建一个数组 
var count = colors.push("red","green"); //推入两项到数组末尾 
alert(count); //2 
count = colors.push("black"); //推入一项到数组末尾 
alert(count); //3 
var item = colors.pop(); //移除最后一项并返回该值 
alert(item); //"black" 
alert(count); //2

4.数组的队列方法:push()和shift()、unshift()
push()方法同上
shift()方法 移除数组中的第一项并返回该项,数组长度减1
unshift()方法 在数组前端添加任意项,并返回新数组的长度
var colors = new Arrary(); //创建一个数组 
var count = colors.push("red","green"); //推入两项到数组末尾 
alert(count); //2 
count = colors.push("black"); //推入一项到数组末尾 
alert(count); //3 
var item = colors.shift(); //移除第一项并返回该值 
alert(item); //"red" 
alert(colors); //green,black 
count = colors.unshift("blue"); //推入一项到数组前端 
alert(count); //3 
alert(colors); //blue,green,black

5.重排序方法:reverse()和sort()
reverse()方法 反转数组项的顺序
sort()方法 默认按字符串大小升序排列数组项,可以接受一个比较大小的函数作为参数
var values = [1,2,3,4,5]; 
values.reverse(); 
alert(values); //5,4,3,2,1

//升序排序函数 
function compare(value1,value2) { 
if (value1 < value2) { 
return -1; //降序改为1 
} else if (value1 > value2) { 
return 1; //降序改为-1 
} else { 
return 0; 
} 
}

//数组升序排列 
var values = [0,1,5,15,20,10]; 
values.sort(compare); 
alert(values);//0,1,5,10,15,20

//对于数值型可以用这个函数,升序 
function compare(value1,value2) { 
return value2 - value1; 
}

6.数组的一些方法:concat()方法、slice()方法和splice()方法
concat()方法 将参数添加到原数组末尾,返回新的数组,原数组不变
slice()方法 返回数组中的项,一个参数时返回指定位置到数组末尾所有的项,两个参数时返回起始位置和结束位置之间的项(不包括结束位置),原数组不变
splice()方法 向数组中插入,删除,或替换数组中的项,返回删除的项(没有删除时返回空数组),原数组改变
//concat()方法 
var colors = ["red","green","blue"]; 
var colors2 = colors.concat("yellow",["black","brown"]); 
alert(colors); //red,green,blue 
alert(colors2); //red,green,blue,yellow,black,brown

//slice()方法 
var colors = ["red","green","blue","yellow","black"]; 
var colors2 = colors.slice(1); //一个参数时返回指定位置到数组末尾所有的项 
var colors3 = colors.slice(1,4); //两个参数时返回起始位置和结束位置之间的项(不包括结束位置) 
alert(colors2); //green,blue,yellow,black 
alert(colors3); //green,,blue,yellow

//splice()方法 
//插入项,插入时指定3个参数:起始位置、0(要删除的项)、要插入的项 
var colors = ["red","green","blue"]; 
var inserted = colors.splice(1,0,"yellow","orange"); //从位置1开始插入两项 
alert(colors); //red,yellow,orange,green,blue 
alert(inserted); //空数组 //替换项,删除时指定3个参数:起始位置、要删除的项、要插入的任意项 
var colors = ["red","green","blue"]; 
var replaced = colors.splice(1,1,"black","brown"); //删除一项,插入两项 
alert(colors); //red,black,browm,blue 
alert(replaced); //green
Javascript 相关文章推荐
50款非常棒的 jQuery 插件分享
Mar 29 Javascript
jquery 插件学习(三)
Aug 06 Javascript
js捕获鼠标右键菜单中的粘帖事件实现代码
Apr 01 Javascript
jquery使用append(content)方法注意事项分享
Jan 06 Javascript
让IE8浏览器支持function.bind()方法
Oct 16 Javascript
基于jQuery实现简单的折叠菜单效果
Nov 23 Javascript
javascript事件绑定学习要点
Mar 09 Javascript
微信+angularJS的SPA应用中用router进行页面跳转,jssdk校验失败问题解决
Sep 09 Javascript
基于JavaScript实现百度搜索框效果
Jun 28 Javascript
详解10分钟学会vue滚动行为
Sep 21 Javascript
浅谈Vue-cli单文件组件引入less,sass,css样式的不同方法
Mar 13 Javascript
详解vue开发中调用微信jssdk的问题
Apr 16 Javascript
javascript学习笔记(四) Number 数字类型
Jun 19 #Javascript
javascript学习笔记(三) String 字符串类型介绍
Jun 19 #Javascript
javascript学习笔记(二) js一些基本概念
Jun 18 #Javascript
javascript学习笔记(一) 在html中使用javascript
Jun 18 #Javascript
到处都是jQuery选择器的年代 不了解它们的性能,行吗
Jun 18 #Javascript
jquery图片延迟加载 前端开发技能必备系列
Jun 18 #Javascript
jquery不会自动回收xmlHttpRequest对象 导致了内存溢出
Jun 18 #Javascript
You might like
PHP 第二节 数据类型之数组
2012/04/28 PHP
php结合ajax实现赞、顶、踩功能实例
2014/05/12 PHP
不错的JS中变量相关的细节分析
2007/08/13 Javascript
js输入框邮箱自动提示功能代码实现
2013/12/10 Javascript
jquery live()重复绑定的解决方法介绍
2014/01/03 Javascript
js面向对象之公有、私有、静态属性和方法详解
2015/04/17 Javascript
javascript深拷贝(deepClone)详解
2016/08/24 Javascript
jQuery EasyUI编辑DataGrid用combobox实现多级联动
2016/08/29 Javascript
Node.js与MySQL交互操作及其注意事项
2016/10/05 Javascript
浅谈Node.js:fs文件系统模块
2016/12/08 Javascript
jQuery插件FusionCharts绘制的2D条状图效果【附demo源码】
2017/05/13 jQuery
Ionic3 UI组件之Gallery Modal详解
2017/06/07 Javascript
JS中使用media实现响应式布局
2017/08/04 Javascript
vue中echarts3.0自适应的方法
2018/02/26 Javascript
Vue router安装及使用方法解析
2020/12/02 Vue.js
Django REST为文件属性输出完整URL的方法
2017/12/18 Python
Python GUI编程学习笔记之tkinter控件的介绍及基本使用方法详解
2020/03/30 Python
Python实现Wordcloud生成词云图的示例
2020/03/30 Python
Python用dilb提取照片上人脸的示例
2020/10/26 Python
python3.9.1环境安装的方法(图文)
2021/02/02 Python
Senreve官网:美国旧金山的奢侈手袋品牌
2019/03/21 全球购物
PHP如何删除一个Cookie值
2012/11/15 面试题
妇科医生自荐信
2013/11/05 职场文书
社会实践自我鉴定
2013/11/07 职场文书
影视动画专业个人的自我评价
2013/12/31 职场文书
自考生自我评价分享
2014/01/18 职场文书
党的群众路线教育实践活动公开承诺书
2014/03/28 职场文书
双拥工作宣传标语
2014/06/26 职场文书
应用心理学专业求职信
2014/08/04 职场文书
优秀团员事迹材料2000字
2014/08/20 职场文书
校车安全责任书
2014/08/25 职场文书
班主任先进事迹材料
2014/12/17 职场文书
毕业典礼邀请函
2015/01/31 职场文书
推销搭讪开场白
2015/05/28 职场文书
详解python的内存分配机制
2021/05/10 Python
OpenCV 图像梯度的实现方法
2021/07/25 Python