JavaScript 教程-数组
2016-12-07 本文已影响29人
sponing
1,Array 定义数组/获取
1,var arr = new Array(); //声明一个动态数组对象arr
arr[0] = "tom";
arr[1] = "jim";
arr[2] = "二狗子";
2,var a = new Array("tom", "jim", "二狗子")
3,var str = [tom, jim, 二狗子];
str[0] //tom
str[1] /jim
str[2] /二狗子
2,Array 数组长度
var str = [1, 2, 3, 4, 5, 6, 7, 8, 9];
var length = str.length //9
数组经常与for if配合着用 遍历出所有value
for( var i = 0;i<str.length;i++ ){
if( i = 1 ){ console.log( str[i] ) } //2
console.log( str[i] ) //1 2 3 4 5 6 7 8 9
}
3,Array 数组 特别
检查instanceof => 数组 // return true/false
var a = [ 1,2 ]
typeof a //object;
a instanceof Array //true
a instanceof String //false
4,Array 数组方法
concat() //连接两个或更多的数组,并返回结果。
join() //把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
pop() //删除并返回数组的最后一个元素
push() //向数组的末尾添加一个或更多元素,并返回新的长度。
reverse() //颠倒数组中元素的顺序。
shift() //删除并返回数组的第一个元素
slice() //从某个已有的数组返回选定的元素
sort() //对数组的元素进行排序
splice() //删除元素,并向数组添加新元素。
toSource() //返回该对象的源代码。
toString() //把数组转换为字符串,并返回结果。
toLocaleString() //把数组转换为本地数组,并返回结果。
unshift() //向数组的开头添加一个或更多元素,并返回新的长度。
valueOf() //返回数组对象的原始值
实例
js数组操作大全(转)
#shift:删除原数组第一项,并返回删除元素的值;如果数组为空则返回undefined
var a = [1,2,3,4,5];
var b = a.shift(); //a:[2,3,4,5] b:1
#unshift:将参数添加到原数组开头,并返回数组的长度
var a = [1,2,3,4,5];
var b = a.unshift(-2,-1); //a:[-2,-1,1,2,3,4,5] b:7
注:在IE6.0下测试返回值总为undefined,FF2.0下测试返回值为7,所以这个方法的返回值不可靠,需要用返回值时可用splice代替本方法来使用。
#pop:删除原数组最后一项,并返回删除元素的值;如果数组为空则返回undefined
var a = [1,2,3,4,5];
var b = a.pop(); //a:[1,2,3,4] b:5
#push:将参数添加到原数组末尾,并返回数组的长度
var a = [1,2,3,4,5];
var b = a.push(6,7); //a:[1,2,3,4,5,6,7] b:7
#concat:返回一个新数组,是将参数添加到原数组中构成的
var a = [1,2,3,4,5];
var b = a.concat(6,7); //a:[1,2,3,4,5] b:[1,2,3,4,5,6,7]
#splice(start,deleteCount,val1,val2,...):从start位置开始删除deleteCount项,并从该位置起插入val1,val2,...
var a = [1,2,3,4,5];
var b = a.splice(2,2,7,8,9); //a:[1,2,7,8,9,5] b:[3,4]
var b = a.splice(0,1); //同shift
a.splice(0,0,-2,-1); var b = a.length; //同unshift
var b = a.splice(a.length-1,1); //同pop
a.splice(a.length,0,6,7); var b = a.length; //同push
#reverse:将数组反序
var a = [1,2,3,4,5];
var b = a.reverse(); //a:[5,4,3,2,1] b:[5,4,3,2,1]
#sort(orderfunction):按指定的参数对数组进行排序
var a = [1,2,3,4,5];
var b = a.sort(); //a:[1,2,3,4,5] b:[1,2,3,4,5]
#slice(start,end):返回从原数组中指定开始下标到结束下标之间的项组成的新数组
var a = [1,2,3,4,5];
var b = a.slice(2,5); //a:[1,2,3,4,5] b:[3,4,5]
#join(separator):将数组的元素组起一个字符串,以separator为分隔符,省略的话则用默认用逗号为分隔符
var a = [1,2,3,4,5];
var b = a.join("|"); //a:[1,2,3,4,5] b:"1|2|3|4|5"
数组是JavaScript提供的一个内部对象,它是一个标准的集合,我们可以添加(push)、删除(shift)里面元素,我们还可以通过for循环遍历里面的元素,那么除了数组我们在JavaScript里还可以有别的集合吗?
由于JavaScript的语言特性,我们可以向通用对象动态添加和删除属性。所以Object也可以看成是JS的一种特殊的集合。下面比较一下Array和Object的特性:
Array:
#新建:var ary = new Array(); 或 var ary = [];
#增加:ary.push(value);
#删除:delete ary[n];
#遍历:for ( var i=0 ; i < ary.length ; ++i ) ary[i];
#新建:var obj = new Object(); 或 var obj = {};
#增加:obj[key] = value; (key为string)
#删除:delete obj[key];
#遍历:for ( var key in obj ) obj[key];
从上面的比较可以看出Object完全可以作为一个集合来使用,在使用Popup窗口创
建无限级Web页菜单(3)中我介绍过Eric实现的那个__MenuCache__,它也就是一个模拟的集合对象。
如果我们要在Array中检索出一个指定的值,我们需要遍历整个数组: