美文网首页
js、jquery 数组使用

js、jquery 数组使用

作者: LearningCoding | 来源:发表于2017-03-16 11:11 被阅读29次

    定义一个数组
    var arr = [];

    一、js数组

    1、数组添加元素:

    1.1给数组末尾添加元素:

    arr.push("a");
    arr[arr.length] = "a";

    1.1向数组开头添加一个或更多元素:

    arr.unshift("a");

    2、数组删除元素:

    2.1删除数组末尾最后一个元素

    arr.pop();

    2.2删除数组开头第一个元素

    arr.shift();

    2.3根据元素值删除该元素

    arr.splice($.inArray("a", arr), 1); // 使用到了jq

    3、splice的用法

    arr.splice(index, num, newitem1, newitem2, ...)
    index:第几位
    num:从第index位删除后几位
    newItem:删除之后添加的元素

    4、字符串与数组之间的转换:

    4.1字符串转化成数组

    var str = "a,b,c";
    arr = str.split(",");

    4.2数组转化字符串

    var str = arr.join("-") // -为字符串连接符

    5、数组排序

    5.1sort 正序

    var a = [6, 2, 3, 'a', 'x', 20],
    b = a.sort(); // b和a指向同一个数组

    5.2reverse 倒序

    b = a.reverse();

    6、取出数组部分元素

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

    7、数组合并

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

    二、jq数组

    1、遍历

    $.each(a, function(key, val) { //以jQuery对象的方法调用,兼容性好;也可以用$(a)将a转化为jquery对象,然后以$(a).each(function(){})的形式调用,下面的方法同
    console.log(a[key] + '下标为' + key + '值为' + val);
    });

    2、筛选

    var a = [1, 2, 3, 4];
    $.grep(a, function(val, key) { //不能链式调用,返回[],所以可以加上return实现链式,返回满足条件的副本
      if (a[key] > 2) {
        console.log(key);
      }
      return val;
    });
    常用做获取两个数组中相同(或不相同)的部分
    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.转换

    var a = [1, 2, 3, 4];
    $.map(a, function(val, key) { //不能链式调用,返回[],同grep加上return即可放回副本
    if (a[key] > 2) {
    a[key]=val+1;
    }
    return val; //可以链式调用,返回处理后的数组(也可用于筛选)
    });

    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

    三、数组去重
    http://www.cnblogs.com/jq-melody/p/4505290.html

    相关文章

      网友评论

          本文标题:js、jquery 数组使用

          本文链接:https://www.haomeiwen.com/subject/vbydnttx.html