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 相关文章推荐
jQuery学习笔记之jQuery的动画
Dec 22 Javascript
使用UglifyJS合并/压缩JavaScript的方法
Mar 07 Javascript
JS事件Event元素(兼容IE,Firefox,Chorme)
Nov 01 Javascript
html a标签-超链接中confirm方法使用介绍
Jan 04 Javascript
javascript 数字格式化输出的实现代码
Dec 10 Javascript
二叉树的非递归后序遍历算法实例详解
Feb 07 Javascript
Bootstrap开发实战之第一次接触Bootstrap
Jun 02 Javascript
vue 指令之气泡提示效果的实现代码
Oct 18 Javascript
thinkjs微信中控之微信鉴权登陆的实现代码
Aug 08 Javascript
微信小程序语音同步智能识别的实现案例代码解析
May 29 Javascript
OpenLayers3实现鼠标移动显示坐标
Sep 25 Javascript
如何在JavaScript中正确处理变量
Dec 25 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
世界收音机发展史
2021/03/01 无线电
php面向对象全攻略 (九)访问类型
2009/09/30 PHP
php的declare控制符和ticks教程(附示例)
2014/03/21 PHP
PHP中shuffle数组值随便排序函数用法
2014/11/21 PHP
php获取数组元素中头一个数组元素值的实现方法
2014/12/20 PHP
PHP设计模式之简单工厂和工厂模式实例分析
2019/03/25 PHP
收藏Javascript中常用的55个经典技巧
2007/08/12 Javascript
现代 JavaScript 开发编程风格Idiomatic.js指南中文版
2014/05/28 Javascript
如何编写高质量JS代码(续)
2015/02/25 Javascript
jQuery实现提示密码强度的代码
2015/07/15 Javascript
基于JavaScript操作DOM常用的API小结
2015/12/01 Javascript
总结javascript中的六种迭代器
2016/08/16 Javascript
vue实现全选和反选功能
2017/08/31 Javascript
浅析node应用的timing-attack安全漏洞
2018/02/28 Javascript
解决在vue项目中,发版之后,背景图片报错,路径不对的问题
2018/03/06 Javascript
JS实现模糊查询带下拉匹配效果
2018/06/21 Javascript
Three.JS实现三维场景
2018/12/30 Javascript
JS实现旋转木马轮播图
2020/01/01 Javascript
[52:00]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 LGD vs Optic
2018/04/02 DOTA
跟老齐学Python之list和str比较
2014/09/20 Python
Python用户推荐系统曼哈顿算法实现完整代码
2017/12/01 Python
python爬虫框架scrapy实现模拟登录操作示例
2018/08/02 Python
python opencv对图像进行旋转且不裁剪图片的实现方法
2019/07/09 Python
python求平均数、方差、中位数的例子
2019/08/22 Python
Python多个装饰器的调用顺序实例解析
2020/05/22 Python
python 调用API接口 获取和解析 Json数据
2020/09/28 Python
英国评分最高的女性剃须刀订阅盒:FFS Beauty
2018/01/25 全球购物
美国美食礼品篮网站:Gourmet Gift Baskets
2019/12/15 全球购物
双立人加拿大官网:Zwilling加拿大
2020/08/10 全球购物
Java Servlet的主要功能和作用是什么
2014/02/14 面试题
家长对孩子评语
2014/01/30 职场文书
十佳标兵事迹材料
2014/08/18 职场文书
2014年大学班级工作总结
2014/11/14 职场文书
未中标通知书
2015/04/17 职场文书
最感人的道歉情书
2015/05/12 职场文书
海贼王十大潜力果实,路飞仅排第十,第一可毁世界(震震果实)
2022/03/18 日漫