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 相关文章推荐
学习ExtJS table布局
Oct 08 Javascript
基于jquery的当鼠标滚轮到最底端继续加载新数据思路分享(多用于微博、空间、论坛 )
Oct 10 Javascript
JavaScript内核之基本概念
Oct 21 Javascript
原生Javascript封装的一个AJAX函数分享
Oct 11 Javascript
JavaScript计时器示例分析
Feb 05 Javascript
详解JavaScript的AngularJS框架中的表达式与指令
Mar 05 Javascript
jQuery快速实现商品数量加减的方法
Feb 06 Javascript
phantomjs导出html到pdf的方法总结
Oct 19 Javascript
jQuery实现点击下拉框中的值累加到文本框中的方法示例
Oct 28 jQuery
微信小程序实现发送模板消息功能示例【通过openid推送消息给用户】
May 05 Javascript
微信小程序背景音乐开发详解
Dec 12 Javascript
Vue.js暴露方法给WebView的使用操作
Sep 07 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
Windows下安装Memcached的步骤说明
2010/04/25 PHP
php实现图片上传、剪切功能
2016/05/07 PHP
input 输入框内的输入事件详细分析
2010/03/17 Javascript
获取服务器传来的数据 用JS去空格的正则表达式
2012/03/26 Javascript
自动设置iframe大小的jQuery代码
2013/09/11 Javascript
两种方法实现在HTML页面加载完毕后运行某个js
2014/06/16 Javascript
node.js中的events.emitter.once方法使用说明
2014/12/10 Javascript
jQuery基于图层模仿五星星评价功能的方法
2015/05/07 Javascript
js和jq使用submit方法无法提交表单的快速解决方法
2016/05/17 Javascript
JS控制HTML元素的显示和隐藏的两种方法
2016/09/27 Javascript
浅谈JS封闭函数、闭包、内置对象
2017/07/18 Javascript
vue2.0+ 从插件开发到npm发布的示例代码
2018/04/28 Javascript
echarts同一页面中四个图表切换的js数据交互方法示例
2018/07/03 Javascript
jQuery模拟12306城市选择框功能简单实现方法示例
2018/08/13 jQuery
基于vue中对鼠标划过事件的处理方式详解
2018/08/22 Javascript
Vue组件间通信 Vuex的用法解析
2019/08/05 Javascript
Layui数据表格跳转到指定页的实现方法
2019/09/05 Javascript
Vue实现仿iPhone悬浮球的示例代码
2020/03/13 Javascript
[05:37]DOTA2-DPC中国联赛 正赛 Elephant vs iG 选手采访
2021/03/11 DOTA
在Python中使用poplib模块收取邮件的教程
2015/04/29 Python
python调用OpenCV实现人脸识别功能
2018/05/25 Python
详解Python3 对象组合zip()和回退方式*zip
2019/05/15 Python
对python 中class与变量的使用方法详解
2019/06/26 Python
django 做 migrate 时 表已存在的处理方法
2019/08/31 Python
What's the difference between an interface and abstract class? (接口与抽象类有什么区别)
2012/10/29 面试题
七一表彰活动方案
2014/01/18 职场文书
农贸市场管理制度
2014/01/31 职场文书
2014年三八妇女节活动总结
2014/03/01 职场文书
科技节口号
2014/06/19 职场文书
会议室标语
2014/06/21 职场文书
收款授权委托书
2014/10/02 职场文书
中班下学期个人工作总结
2015/02/12 职场文书
业务员辞职信范文
2015/03/02 职场文书
导游词之沈阳植物园
2019/11/30 职场文书
索尼ICF-5900W收音机测评
2022/04/24 无线电
MySQL慢查询中的commit慢和binlog中慢事务的区别
2022/06/16 MySQL