js与jquery常用数组方法总结

一.原生js方法

1.遍历数组和对象遍历属性 in

var a = [1, 2, 3];
for (x in a) {
    console.log(x);// 0 1 2
}

2.合并数组 concat

var a = [1, 2, 3],
    b = [4, 5, 6],
    c;
c = b.concat(a);     //将a加在b后,返回新数组,a和b并没有变。参数数量不限
console.log(b);  // [4, 5, 6]
console.log(c);  // [4, 5, 6, 1, 2, 3]

3.合并数组的值为字符串 join

var a = [1, 2, 3],
    b = a.join('*'); //默认为之间加上 ,          
console.log(a);  // [1, 2, 3]    //a并没有变
console.log(b);  // 1*2*3

4.数组排序 sort

var a = [6, 2, 3, 'a', 'x', 20],
    b = a.sort();          //ASC表顺序,先看首位,因此20排在3前面
console.log(a);  // [2, 20, 3, 6, "a", "x"]           //a变化了
console.log(b);  // [2, 20, 3, 6, "a", "x"]
a.push('k');
console.log(b);  // [2, 20, 3, 6, "a", "x", "k"]      //a和b指向同一个对象,b相当于a的别名,所以 b 也变了

5.数组的模拟栈(FILO) 和队列(FIFO) 方法(均改变原来数组)

var a = [6, 2, 3, 'a', 'x', 20],
    b = a.push('ab'),    // 末尾添加元素,并返回新长度 7
    c = a.pop(),         // 删除并返回数组的最后一个元素  ab
    d = a.unshift('xy'), // 开头添加元素,并返回新长度 7
    e = a.shift();       // 删除并返回数组的第一个元素 xy

6.数组反序 reverse

var a = [6, 2, 3, 'a', 'x', 20],
    b = a.reverse();       // 返回a的引用
console.log(a); // [20, "x", "a", 3, 2, 6]
console.log(b); // [20, "x", "a", 3, 2, 6]

7.取数组中需要的部分 slice

var a = [6, 2, 3, 'a', 'x', 20],
    b = a.slice(0, 2);    //下标从0取到2(不包括2),没有第二个参数则默认到末尾。第一个参数为负表示从末尾开始数。第一个参数小于第二个参数则为空。
console.log(a);     //[6, 2, 3, 'a', 'x', 20]
console.log(b);   // [6, 2]        //b是a一部分的副本,a本身不变

8.修改数组 splice

var a = [1, 2, 3, 4],
    b = a.splice(0, 2, 6);
console.log(a);   // [6, 3, 4]       
console.log(b);   // [1, 2]       //b为被删掉的数组部分

a.splice(index, num, newItem1, newItem2…)
index为开始选择的元素下标
num为接下来要删除元素的个数
newItem为接下来(在删完的地方)要添加的新元素(非必须)。

删除指定下标(2,也就是第三个)元素,此时不设置需要添加的newItem,而num设为1

var a = [1, 2, 3, 4],
    b = a.splice(2, 1);
console.log(a);  // [1, 2, 4]
console.log(b);  // [3]

在任意位置添加任意多个元素(如在下标2后添加两个元素’7’,’8’),此时num设为0

var a = [1, 2, 3, 4],
    b = a.splice(2, 0, 7, 8);
console.log(a); //[1, 2, 7, 8, 3, 4]
console.log(b); //没有删除,b返回[]

元素值删除元素(结合jquery)

var a=[1,2,3,4];
a.splice($.inArray(2,a), 1);
console.log(a); // [1, 3, 4]

修改自身的有: splice, pop, push, shift, unshift, sort, reverse
不修改自己身的: slice, concat, join

二.Jquery常用js方法

遍历

可以对所有的元素进行操作。如果想要满足条件退出,用return false( 绝大部分jquery方法都可以这么退出)。

$.each(arr, callback(key, val));      //可以链式调用,返回arr,为本身
var a = [1, 2, 3, 4];
$.each(a, function(key, val) {     
    //以jQuery对象的方法调用,兼容性好;
    console.log(a[key] + '下标为' + key + '值为' + val);
});

合并

var a=[1,2,3],
    b=[4,5,6];
$.merge(a,b);

过滤相同元素

$.unique(arr)//过滤Jquery对象数组中重复的元素(内部实现为===)
var a = [ 1 , 1 , 2 , 3 , 7 , 4 , 5 , 5 , 6 , 6 ];
$.unique(a)

判断

$.inArray(val,arr)  //val是否在arr里面
var a = [1, 2, 3, 4];
$.inArray(2, a);     //有的话返回下标,没有的话返回-1

js与jquery常用数组方法总结

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!