jquery与js对数组的操作

一、js对数组的操作

1.数组的创建

var arr=new Array();
var arr=[];//二者创建皆可
var arr=new Array(3);//当一个参数,且为数字时(其它表示含有一个元素的数组),表示数组长度为3,但仍可扩展(与java不同)
var arr=new Array(1,2,3,4);//当含有多个参数,表示创建了含有多个元素的数组。

2.数组元素的添加

arr.push("zhang","wang"); //将一个或多个元素添加到数组结尾
arr.unshift("zhang","wang");//将一个或多个元素添加到元素开始处
arr.splice(insertPos,deleteNum,val1,val2....);//插入元素,第一个参数为插入的位置,第二个参数表示将该位置之后的delteNum个元素删掉(只插入时,可设为0)
例:    var arr=new Array(1,2,3,7,8);
        arr.splice(1,2,4,5,6);//将4,5,6三个元素插入到位置1处,并将该位置后边的两个元素删除
        alert(arr.join(","));//将数组字符串化,输出 "1,4,5,6,7,8"



3.数组元素的删除

arr.pop();//删除最后一个元素
arr.shift();//删除第一个元素
arr.splice(insertPos,deleteNum);删除该位置之后的deleteNum个元素

4.数组元素的截取和合并

arrayObj.slice(start, end); //以数组的形式返回数组的一部分,注意不包括 end 对应的元素,如果省略 end 将复制 start 之后的所有元素

arrayObj.concat(item1,item2,....); //将多个数组(也可以是字符串,或者是数组和字符串的混合)连接为一个数组,返回连接好的新的数组

5.数组的排序

arrayObj.reverse(); //反转元素,返回数组地址

arrayObj.sort(); //对数组元素排序,返回数组地址

6.数组的拷贝

arrayObj.slice(0); //返回数组的拷贝数组,注意是一个新的数组,不是指向

arrayObj.concat(); //返回数组的拷贝数组,注意是一个新的数组,不是指向

7.数组的字符串化

arrayObj.join(separator); //返回字符串,这个字符串将数组的每一个元素值连接在一起,中间用 separator 隔开。



二、jquery对数组的操作


1.数组元素的过滤

$.grep(arr,callback);
$.grep( [0,1,2], function(n,i){
              return n > 0;
});//结果为[1,2]

$.grep( [0,1,2], function(n,i){
              return n > 0;
},true);//结果为[0]


2.数组元素的遍历


$.each(arr,callback);//可遍历数组,dom元素,对象
$("input").each(fucntion(i,dom){//遍历dom元素
   alert($(dom).val());
});
$.each([1,2,3],function(i,val){//遍历数组
   alert(val);
});
$.each({name:"zhang",age:15},function(i,val){//遍历对象
   alert("Name:"+i+","+"Value:"+val);
});



3.将数组转换为新的数组


$.map( [0,1,2], function(n){
  return n + 4;
});                         //结果:[4,5,6]
$.map([0,1,2],function(n){
  return n>0?n+1:null;
})                          //结果:[2,3]

$.map( [0,1,2], function(n){
  return [ n, n + 1 ];
});                         //结果:[0, 1, 1, 2, 2, 3]


4.确定元素的位置

$.inArray(val,arr,fromIndex);//确定元素在数组中的位置,可验证数组中元素是否存在,存在则返回

index,否则返回-1fromIndex默认为0
$.inArray("a",["a","b","c"]);//结果:0

5.合并数组

$.merge( [0,1,2], [2,3,4] );//结果:[0,1,2,2,3,4]

6.对数组去重

var arr=[1,2,3,3,4,4];
var arr1=$.unique(arr);//结果:[4,3,2,1]

       

你可能感兴趣的:(jquery与js对数组的操作)