定義一個數(shù)組
var arr = [];
一矮台、js數(shù)組
1、數(shù)組添加元素:
1.1給數(shù)組末尾添加元素:
arr.push("a");
arr[arr.length] = "a";
1.1向數(shù)組開頭添加一個或更多元素:
arr.unshift("a");
2根时、數(shù)組刪除元素:
2.1刪除數(shù)組末尾最后一個元素
arr.pop();
2.2刪除數(shù)組開頭第一個元素
arr.shift();
2.3根據(jù)元素值刪除該元素
arr.splice($.inArray("a", arr), 1); // 使用到了jq
3瘦赫、splice的用法
arr.splice(index, num, newitem1, newitem2, ...)
index:第幾位
num:從第index位刪除后幾位
newItem:刪除之后添加的元素
4、字符串與數(shù)組之間的轉(zhuǎn)換:
4.1字符串轉(zhuǎn)化成數(shù)組
var str = "a,b,c";
arr = str.split(",");
4.2數(shù)組轉(zhuǎn)化字符串
var str = arr.join("-") // -為字符串連接符
5蛤迎、數(shù)組排序
5.1sort 正序
var a = [6, 2, 3, 'a', 'x', 20],
b = a.sort(); // b和a指向同一個數(shù)組
5.2reverse 倒序
b = a.reverse();
6确虱、取出數(shù)組部分元素
b = a.slice(0, 2); //下標從0取到2(不包括2),沒有第二個參數(shù)則默認到末尾替裆。第一個參數(shù)為負表示從末尾開始數(shù)校辩。第一個參數(shù)小于第二個參數(shù)則為空。
//b是a一部分的副本,a本身不變
7扎唾、數(shù)組合并
var a = [1, 2, 3],
b = [4, 5, 6],
c;
c = b.concat(a); //將a加在b上,返回新數(shù)組召川,a和b并沒有變。參數(shù)數(shù)量不限
console.log(b);
console.log(c);
二胸遇、jq數(shù)組
1、遍歷
$.each(a, function(key, val) { //以jQuery對象的方法調(diào)用汉形,兼容性好;也可以用$(a)將a轉(zhuǎn)化為jquery對象纸镊,然后以$(a).each(function(){})的形式調(diào)用,下面的方法同
console.log(a[key] + '下標為' + key + '值為' + val);
});
2、篩選
var a = [1, 2, 3, 4];
$.grep(a, function(val, key) { //不能鏈式調(diào)用概疆,返回[],所以可以加上return實現(xiàn)鏈式,返回滿足條件的副本
if (a[key] > 2) {
console.log(key);
}
return val;
});
常用做獲取兩個數(shù)組中相同(或不相同)的部分
var a= [1, 2, 3, 4],
b=[1,3,5,7];
$.grep(a,function(val,key){
if(b.indexOf(val)>=0){
return val;
}
},false);
3.轉(zhuǎn)換
var a = [1, 2, 3, 4];
$.map(a, function(val, key) { //不能鏈式調(diào)用逗威,返回[],同grep加上return即可放回副本
if (a[key] > 2) {
a[key]=val+1;
}
return val; //可以鏈式調(diào)用,返回處理后的數(shù)組(也可用于篩選)
});
4.合并
var a=[1,2,3],
b=[4,5,6];
$.merge(a,b);
5.過濾相同元素
var a = [ 1 , 1 , 2 , 3 , 7 , 4 , 5 , 5 , 6 , 6 ];
$.unique(a)
6.判斷
var a = [1, 2, 3, 4];
$.inArray(2, a); //有的話返回下標岔冀,沒有的話返回-1
三凯旭、數(shù)組去重
http://www.cnblogs.com/jq-melody/p/4505290.html