zoukankan      html  css  js  c++  java
  • jquery里用each遍历的值存到数组和字符串

    $("img").each(function(){
    var a = $(this).attr("src");
    });
    //遍历后存放到数组中。。要用的时候再根据需要取.
    var arr = new Array();
    $("img").each(function(index){
        arr.push($(this).attr("src"));
    })
      
    //调用..
    for(var i in arr){
        console.log(arr[i]);
    }
    $(".shopcar").each(function () {
                   goods_id += $(this).children().find('dt').attr('value') + ",";
                   goods_number += $(this).children().find(".result").val() + ",";
                   return goods_id;
                   return goods_number;
               });
     
           //去掉最后一个逗号
           if (goods_id.length > 0) {
               goods_id = goods_id.substr(0,goods_id.length - 1);
           }
           if (goods_id.length > 0) {
               goods_number = goods_number.substr(0,goods_number.length - 1);
           }
    【each处理一维数组】
     var arr1 = [ "aaa", "bbb", "ccc" ];      
      $.each(arr1, function(i,val){      
          alert(i);    // 输出0,1,2
          alert(val);  // 输出aaa,bbb,ccc
     }); 
     
    
    【each处理二维数组】
    var arr2 = [['a', 'aa', 'aaa'], ['b', 'bb', 'bbb'], ['c', 'cc', 'ccc']]      
      $.each(arr, function(i, item){      
          alert(i);    // 输出为0,1,2,因为这二维数组含有3个数组元素
          alert(item); // 输出为  ['a', 'aa', 'aaa'],['b', 'bb', 'bbb'],['c', 'cc', 'ccc']     
     }); 
    arr2为一个二维数组,
    
    item相当于取这二维数组中的每一个数组。
    item[0]相对于取每一个一维数组里的第一个值   
    
    
    【对此二位数组的处理稍作变更之后】
    
    复制代码
    var arr = [['a', 'aa', 'aaa'], ['b', 'bb', 'bbb'], ['c', 'cc', 'ccc']]      
       $.each(arr, function(i, item){      
            $.each(item,function(j,val){
                alert(j);    //输出为0,1,2,0,1,2,0,1,2
                alert(val);  //输出为a,aa,aaa,b,bb,bbb,c,cc,ccc
         }); 
    }); 
    复制代码
     
    
    【 each处理json数据】这个each就有更厉害了,能循环每一个属性  
    var obj = { one:1, two:2, three:3};      
       each(obj, function(key, val) {      
            alert(key);   // 输出 one two three
            alert(val);   // 输出 one,1,two,2,three,3   
    }); 
    这边为何key不是数字而是属性呢,因为json格式内是一组无序的属性-值,既然无序,又何来数字呢。
    而这个val等同于obj[key]
    
     
    
    【ecah处理dom元素】此处以一个input表单元素作为例子。
    
    如果你dom中有一段这样的代码
    <input name="aaa" type="hidden" value="111" />
    <input name="bbb" type="hidden" value="222" />
    <input name="ccc" type="hidden" value="333" />
    <input name="ddd" type="hidden"  value="444"/>
    然后你使用each如下
     $.each($("input:hidden"), function(i,val){  
         alert(val);       //输出[object HTMLInputElement],因为它是一个表单元素。 
         alert(i);         //输出为0,1,2,3 
         alert(val.name);  //输出aaa,bbb,ccc,ddd,如果使用this.name将输出同样的结果
         alert(val.value); //输出111,222,333,444,如果使用this.value将输出同样的结果  
     });  
     
    
    如果将以上面一段代码改变成如下的形式  
    $("input:hidden").each(function(i,val){
        alert(i);
        alert(val.name);
        alert(val.value);       
    });
    可以看到,输出的结果是一样的,至于两种写法究竟区别在哪,我也还不知。此改变运用到上面几段数组的操作也会输出同样的结果。
  • 相关阅读:
    Codeforces Round #436 C. Bus
    Codeforces Round #436 B. Polycarp and Letters
    Codeforces Round #436 A. Fair Game
    Codeforces Round #439 C. The Intriguing Obsession
    Codeforces Round #438 C. Qualification Rounds
    Codeforces Round #438 B. Race Against Time
    hdu 1394 Minimum Inversion Number (树状数组求逆序对)
    hdu 6318 Swaps and Inversions (线段树求逆序对数)
    ACM/ICPC 2018亚洲区预选赛北京赛站网络赛 D 80 Days (线段树查询最小值)
    hdu 6299 Balanced Sequence (贪心)
  • 原文地址:https://www.cnblogs.com/yszr/p/11504564.html
Copyright © 2011-2022 走看看