数组的常见操作

1、创建

var array1 = new Array();  //空数组
var array2 = new Array(5);  //指定长度,可越界
var array3 = new Array("a","b","c",1,2,3,true,false);  //定义并赋值
var array4=[];  //空数组
var array5=[1,2,3,"x","y"];  //定义并赋值

2、访问与修改

array2[8]="hello array12";  //赋值或修改
console.log(array2[8]);   //取值

3、遍历,可以使用for 循环,枚举(for in) ,forEach ,jquery的each方法。

//遍历
for (var i = 0; i < array3.length; i++) {
    //console.log("array3["+i+"]="+array3[i]);
}
//枚举
for(var i in array5){ 
    //console.log(i+"="+array5[i]);  //此处的i是下标
}
array5.forEach(function(item,i){
    // console.log(item+"------"+i);
})
$.each(array5,function(i,item){
    console.log(item+"------"+i);
})

4、添加元素

var array11=[5,8];
//添加到末尾
array11.push(9);
var len=array11.push(10,11);
console.log("长度为:"+len+"——"+array11);//长度为:5——5,8,9,10,11
//添加到开始
array11.unshift(4);
var len=array11.unshift(1,2,3);
console.log("长度为:"+len+"——"+array11);//长度为:9——1,2,3,4,5,8,9,10,11
//添加到中间
var len=array11.splice(5,1,6,7);  //从第5位开始插入,删除第5位后的1个元素,返回被删除元素
console.log("被删除:"+len+"——"+array11);//被删除:8——1,2,3,4,5,6,7,9,10,11

4、删除

var array22=[1,2,3,4,5,6,7,8];
console.log("array22:"+array41);
//删除最后一个元素,并返回
var e=array22.pop();
console.log("被删除的元素:"+e+"——"+array22);被删除的元素:8——1,2,3,4,5,6,7
//删除首部元素,并返回
var e=array22.shift();
console.log("被删除的元素:"+e+"——"+array22);//被删除的元素:1——2,3,4,5,6,7
//删除指定位置与个数
var e=array22.splice(1,4);  //从索引1开始删除4个
console.log("被删除的元素:"+e+"——"+array22);//被删除的元素:3,4,5,6——2,7

5、截取和合并

var array31=[1,2,3,4,5,6];
var array32=[7,8,9,0,"a","b","c"];
//截取,切片
var array33=array31.slice(2);  //从第3个元素开始截取到最后
console.log("被截取:"+array33+"——"+array31);//被截取:3,4,5,6——1,2,3,4,5,6
var array34=array31.slice(1,4);  //从索引号为1开始截取到索引号为4的元素 不包括4
console.log("被截取:"+array34+"——"+array31);//被截取:2,3,4——1,2,3,4,5,6
//合并
var array35=array31.concat(array32,["d","e"],"f","g");
console.log("合并后:"+array35);合并后:1,2,3,4,5,6,7,8,9,0,a,b,c,d,e,f,g

7、排序

var array71 = [4, 15, 6, 1, 2, 3];
array71.sort(function (x, y) {
     if (x < y) {
         return 1;
     } else if (x > y) {
         return -1;
     } else {
         return 0;
     }
 });
 console.log("排序后:" + array71);//排序后:15,6,4,3,2,1
 var array72 = [{ name: "tom", age: 19 }, { name: "jack", age: 20 }, { name: "lucy", age: 18 }];
 array72.sort(function (user1, user2) {
     return user1.age < user2.age;
 });
 console.log("排序后:");
 for (var i in array72) console.log(array72[i].name + "," + array72[i].age);
/*  tom,19
 jack,20
 lucy,18 */

8、合并成字符与将字符拆分成数组

var array81=[1,3,5,7,9];
var ids=array81.join("-");
console.log(ids);//1-3-5-7-9

//拆分成数组
var text="hello nodejs and angular";
var array82=text.split(" ");
console.log(array82);//["hello", "nodejs", "and", "angular"]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值