1.语法
concat /concatenation 连接/
语法: Array <array>.concat(item1, item2, ..., itemN);功能: 将数组与给定参数连接起来,参数也可以是数组
如果参数是数组,那么会将参数展开,但是不会展开数组中的数组
案例:
var arr = [1,2,3];
var arr2 = arr.concat("a","b",["d", "e"], [[4, 5], 6]);
// arr2: [1,2,3,a,b,d,e,[4,5],6];
for(var i in arr2) {
alert("key = " + i + ", value = " + arr2[i]);
}
join
语法: string <array>.join(separator);
功能: 将数组用指定字符进行连接,得到一个string
案例:
var arr = [1,2,"a","b"];
var res = arr.join("--");
alert(res);
pop
语法: 元素 <array>.pop();
功能: 移除数组的最后一个元素,并返回该元素
如果数组为空,返回undefined
案例:
var arr = [1,2,3];
var ele = arr.pop();
alert(ele); // ele: 3
alert(arr); // arr: [1,2]
push
语法: number <array>.push(item1, item2, ..., itemN);
功能: 将元素追加到数组中,并返回数组的长度
如果元素是数组,不会像concat那样展开元素
案例:
var arr = [1,2,3];
var length = arr.push("a","b",["d", "e"], [[4, 5], 6]);
// arr: [1,2,3,a,b,[d,e],[[4,5],6]]
alert(typeof length);
alert(length);
reverse
语法: Array <array>.reverse();
功能: 将数组翻转,并返回数组引用. 注意,这里没有创建新数组
案例:
var arr1 = [1,2,3];
var arr2 = arr1.reverse();
// 此时arr1与arr2是同一个实例的两个引用
shift
语法: 元素 <array>.shift();
功能: 移除数组的第一个元素,并返回
案例:
var arr = ["a", "b", "c", "d", "e", "d"];
var ele = arr.shift();
alert("arr的值为:" + arr + ", 类型为:" + (typeof arr)
+ ((arr instanceof Array) ? "是" : "不是") + "Array类型");
alert("ele = " + ele + ", " + typeof ele);
slice
语法: Array <array>.slice(start, end);
功能: 返回数组的片段,第二个参数如果省略表示一直到数组结束
案例:
var arr = [1,2,3,4];
var arr1 = arr.slice(0);
var arr2 = arr.slice(0, 2);
sort
语法: Array <array>.sort(sortFunction);
功能: 按照sortFunction的规则排序数组,并返回数组引用
如果省略sortFunction,那么按照字符是升序排列
sortFunction使用规范:
function(a,b) {return -1|0|1;};
-1 a<b
0 a=b
1 a>b
案例:
var arr1 = ["c", "a", "d", "b"];
arr1.sort();
var arr2 = [3,1,4,2];
arr2.sort(function(a,b){return a-b});
splice
语法: Array <array>.splice(start, deleteCount, item1, item2, ..., itemN);
功能: 将数组中从start开始,移除deleteCount个元素,并作为数组返回
如果有item等参数,将其插入到删除数据的位置处
案例:
var arr1 = [1,2,3,4,5,6];
var arr2 = arr1.splice(1, 2);
// arr1: [1,4,5,6]; arr2: [2,3];
// var arr2 = arr1.splice(1,2, "a", "b", "c", "d");
// arr1: [1,"a","b","c","d",4,5,6]; arr2: [2,3];
// var arr2 = arr1.splice(1,2, "a");
// arr1: [1,"a",4,5,6]; arr2: [2,3];
unshift
语法: number <array>.unshift(item1, item2, ..., itemN);
功能: 将元素加到数组的开始
案例:
var arr = [1,2,3];
var length = arr.unshift(11,12,13);
// arr: [11,12,13,1,2,3];
2.案例详情
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<style type="text/css">
</style>
<script type="text/javascript">
/*// concat方法
var arr = [1,2,3];
var arr2 = arr.concat("a","b",["d", "e"], [[4, 5], 6]);
alert((typeof arr2) + ", " + (arr2 instanceof Array));
for(var i in arr2) {
alert("key = " + i + ", value = " + arr2[i]);
}*/
/*// join方法
var arr = [1,2,"a","b"];
var res = arr.join("--");
alert(typeof res + ", " + res);*/
/*// pop方法
var arr = [1,2,3];
var ele = arr.pop();
alert(ele);
alert(arr);*/
/*// push方法
var arr = [1,2,3];
var length = arr.push("a","b",["d", "e"], [[4, 5], 6]);
// arr: [1,2,3,a,b,[d,e],[[4,5],6]]
alert(typeof length);
alert(length);*/
/*// reverse方法
var arr1 = [1,2,3];
var arr2 = arr1.reverse();
delete arr1[1];
//此处删arr1[1]后,arr1数组的长度仍然为3,只是arr1[1]处为undefined;
for(var i=0;i<arr2.length;i++){
console.log(arr2[i]);
}
var i = 0;*/
/*//shift方法
var arr = ["a", "b", "c", "d", "e", "d"];
var ele = arr.shift();
alert("arr的值为:" + arr + ", 类型为:" + (typeof arr)
+ ((arr instanceof Array) ? "是" : "不是") + "Array类型");
alert("ele = " + ele + ", " + typeof ele);*/
/*//slice方法
var arr = [1,2,3,4];
var arr1 = arr.slice(0);
var arr2 = arr.slice(1, 3);*/
/*// sort方法
//var arr = ["c", "a", "d", "b"];
// arr.sort();
var arr = [3,1,4,2];
//arr.sort(function(a,b){return b-a});
arr.sort(new Function("a","b","return b-a"));
alert(arr);*/
/* //splice方法
// var arr1 = [1,2,3,4,5,6];
// var arr2 = arr1.splice(2, 4);
var arr1 = [1,2,3,4,5,6];
var arr2 = arr1.splice(1,2, "a");//, "b", "c", "d"); */
// unshift方法
var arr = [1,2,3];
var temp = arr.unshift(11,12,13);
var i = 0;
</script>
</head>
<body>
</body>
</html>
简单试过,没有问题。