Array对象是javascript中唯一的容器。
现在我们来了解一下Array的方法:
1)、concat()方法:连接两个或两个以上的数组,并返回结果(这个是非原地修改)
var str1="hello";
var str2="world";
str=str1.concat(str2);
println(str);//helloworld
2)、join()方法:把数组的所元素都放在一个字符串中,元素通过制定的分隔符分割。
var arr=[12,3,34,23,21,34,21];
println(arr.join(","));
/*可以直接用println(arr.join())的原因是join的默认值就是用逗号做分隔符,也可以自己给定字符
也可以用println(arr);
*/
3)、pop()方法:删除并返回数组的最后一个元素。
var arr=[12,3,34,23,21,34,21];
var lastE=arr.pop();
println(lastE+":"+arr);//21:12,3,34,23,21,34
4)、push()方法:向数组的末尾添加一个或者多个元素,并返回新数组的长度。
var arr=[12,3,34,23,21,34,21];
var length=arr.push("a","b","c");
println(length);//9
注意:用第三种pop()(进栈)方法和第四种push()(出栈)方法可以用来写栈。
5)、shife()是删除并返回数组的第一个元素。
arr=[12,3,34,23,21,34,21];
var fristE=arr.shift();
println("fristE:"+fristE+":"+arr);//12:3,34,23,21,34,21
6)、unshift()是向数组的头部添加一个或者多个元素,并返回新数组的长度。
length=arr.unshift("a","b","c");
println(length);//12
注意:用方法shift()和push()可以实现队列的操作
因为shift(出队列)和unshife(进队列)和我们平时语义不协调所以可以在Tool.js中为他们两个取别名再调用。
Array.prototype.removeFirst=function(){
return this.shift();
}
Array.prototype.addFirst=function(){
return this.unshift();
}
7)、reverse()方法:点到数组中的元素-----原地修改
arr=[1,2,3,4,5,6];//6,5,4,3,2,1
println(arr.reverse());
8)、slice()方法:slice(start,end);截取从start开始包含start到end的字符串。[start,end)。
如果start或者end是负数那就从数组的末尾以0开始计数。[倒数start,倒数end)
arr=[1,2,3,4,5,6];
println(arr.slice(2, 4));//34
println(arr.slice(-4, -2));//34
9)、sort()方法:数组排序
arr=["a","c","f","g","h","w"];
arr.sort();//它是默认的字符串比较方式。
//如果是数字比较或者是数字和字符串的比较需要自己自定义。
println(arr);
10)、splice()函数:在数组中选择要删除的部分(给定开始位置和删除元素的个数),有需要的话再到删除的位置上面加要添加的数据。
arr=["a","c","f","g","h","w"];
var temp = arr.splice(1, 3, "france",2,1,"australia");
//有三部分:开始的位置,删除的个数,要添加的数据。
println(temp);//c,f,g
println(arr);//a,france,2,1,australia,h,w
11)、toSource()方法:返回对象的源代码。
细节:concat()和push()的区别。
contcat最重要的就是现场保护(非原地修改),它是把arr2和arr3中的元素一个个的取出来然后加在arr1上的,属于以为数组。
push是原地修改的,它是将arr2和arr3作为一个整体加到arr中的,相当于某个元素变成了数组(即一个复杂的元素),成了二维空间。