关于数组(一)

1. 数组定义及清空数组效率问题

两种定义方式,第一种更好

 var arr = [ 1,2,3 ];
 var arr = new Array(1,2,3);

注意:下面第一种写法表示创建一个长度为3的数组,下面表示创建【3】这样的数组。

var arr = new Array(3);
var arr = new Array('3');

数组中的length是一个可读可写的属性

var arr = [ 'aaa',2,3 ];
// alert( arr.length );         // 3
// arr.length = 0;  //数组被清空

注意字符串中的length只可以读不可以写

var str = 'aaaaa';

// str.length = 1;
alert(str);//依然是'aaaaa'

2. 数组4个小宝贝方法与技巧

push-后面插入

var arr = [ 1,2,3 ];
 alert( arr.push( 'abc' ) );//弹出4,4指的是push后数组的长度

unshift-前面插入

alert( arr.unshift( 0 ) );// IE 6  7 不支持 unshift 返回值

alert( arr );//0123
alert( arr.unshift(0));//4,数组的长度

pop()-删掉数组最后一个元素

var arr = [ 'TM', '钟毅', '张森', '杜鹏', 'Leo' ];
arr.pop()
alert( arr );//[ 'TM', '钟毅', '张森', '杜鹏']
// alert( arr.pop() );//返回值是被删掉的那个元素'Leo'

shift()-扔掉最前面的那一个元素

var arr = [ 'TM', '钟毅', '张森', '杜鹏', 'Leo' ];
alert( arr.shift() );//返回值是被删掉的那个元素'TM'
arr.shift();
alert( arr );//['钟毅', '张森', '杜鹏', 'Leo' ]

小技巧,交换位置

var arr = [ 'TM', '钟毅', '张森', '杜鹏', 'Leo' ];

// arr.unshift(arr.pop());

arr.push(arr.shift())

// alert( arr );

3. splice方法、数组去重

splice()的功能:删除、替换、添加

var arr = [ 'TM', '钟毅', '张森', '杜鹏', 'Leo' ];
arr.splice(0,1);//删掉第一个,变成['钟毅', '张森', '杜鹏', 'Leo' ]
arr.splice(0,1);//从第0位开始,删掉1
var arr = [ 'TM', '钟毅', '张森', '杜鹏', 'Leo' ];
arr.splice( 0 , 1, '莫涛' ) //替换,变成[ '莫涛', '张森', '杜鹏', 'Leo' ];
 arr.splice( 0, 2, '莫涛 or 钟毅' );//替换,变成[ '莫涛 or 钟毅', '杜鹏', 'Leo' ];
var arr = [ 'TM', '钟毅', '张森', '杜鹏', 'Leo' ];
//以下变成[ 'TM','钟毅媳妇儿~', '钟毅媳妇们~' , '钟毅', '张森', '杜鹏', 'Leo' ]
alert( arr.splice( 1, 0, '钟毅媳妇儿~', '钟毅媳妇们~' ) );

alert( arr );

关于数组去重

var arr=[1,2,2,4,2];
for(var i=0;i<arr.length;i++){
 for(var j=i+1;j<arr.length;j++){
   if(arr[i]==arr[j]){
     arr.splice(j,1);
     j--;
   }
 }
}
alert(arr);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值