js Array对象的相关方法(数组拼接、插入、移除等2。)

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>

简单试过,没有问题。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值