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 相关文章推荐
延时重复执行函数 lLoopRun.js
May 08 Javascript
基于MVC3方式实现下拉列表联动(JQuery)
Sep 02 Javascript
JS中怎样判断undefined(比较不错的方法)
Mar 27 Javascript
当某个文本框成为焦点时即清除文本框内容
Apr 28 Javascript
js单词形式的运算符
May 06 Javascript
jQuery实现鼠标经过弹出提示信息的地图热点效果
Aug 07 Javascript
原生js实现放大镜效果
Jan 11 Javascript
javaScript 逻辑运算符使用技巧整理
May 03 Javascript
JavaScript中数组常见操作技巧
Sep 01 Javascript
vue中添加mp3音频文件的方法
Mar 02 Javascript
JS实现用特殊符号替换字符串的中间部分区域的实例代码
Jul 24 Javascript
jQuery常见的遍历DOM操作详解
Sep 05 jQuery
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 xml实例 留言本
2009/03/20 PHP
Symfony2之session与cookie用法小结
2016/03/18 PHP
thinkPHP中volist标签用法示例
2016/12/06 PHP
php+Memcached实现简单留言板功能示例
2017/02/15 PHP
PHP使用ActiveMQ实现消息队列的方法详解
2019/05/31 PHP
PHP进阶学习之Geo的地图定位算法详解
2019/06/19 PHP
PHP单文件上传原理及上传函数的封装操作示例
2019/09/02 PHP
Laravel 不同生产环境服务器的判断实践
2019/10/15 PHP
Jquery中显示隐藏的实现代码分析
2011/07/26 Javascript
js内存泄露的几种情况详细探讨
2013/05/31 Javascript
js的onload事件及初始化按钮事件示例代码
2013/09/25 Javascript
javascript实现下班倒计时效果的方法(可桌面通知)
2015/07/10 Javascript
JavaScript常用本地对象小结
2016/03/28 Javascript
Javascript中的数组常用方法解析
2016/06/17 Javascript
js 实现省市区三级联动菜单效果
2017/02/20 Javascript
Node.js的Koa实现JWT用户认证方法
2018/05/05 Javascript
Vue一个案例引发的递归组件的使用详解
2018/11/15 Javascript
ES6常用小技巧总结【去重、交换、合并、反转、迭代、计算等】
2019/12/21 Javascript
koa2 数据api中间件设计模型的实现方法
2020/07/13 Javascript
解决vue项目运行npm run serve报错的问题
2020/10/26 Javascript
[05:13]2018DOTA2亚洲邀请赛主赛事第二日战况回顾 LGD、VG双雄携手晋级
2018/04/05 DOTA
Python压缩解压缩zip文件及破解zip文件密码的方法
2015/11/04 Python
Python的消息队列包SnakeMQ使用初探
2016/06/29 Python
利用Python2下载单张图片与爬取网页图片实例代码
2017/12/25 Python
python tkinter库实现气泡屏保和锁屏
2019/07/29 Python
python中元组的用法整理
2020/06/15 Python
CSS3色彩模式有哪些?CSS3 HSL色彩模式的定义
2016/04/26 HTML / CSS
师说教学反思
2014/02/07 职场文书
货车司机岗位职责
2014/03/18 职场文书
班主任个人工作反思
2014/04/28 职场文书
大学生找工作求职信
2014/07/09 职场文书
学校党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
公司员工体检通知
2015/04/21 职场文书
2015年学校禁毒工作总结
2015/05/27 职场文书
浅谈python中的多态
2021/06/15 Python
delete in子查询不走索引问题分析
2022/07/07 MySQL