首頁  >  問答  >  主體

javascript 循環數組的問題

雷雷
阿神阿神2711 天前485

全部回覆(3)我來回復

  • 给我你的怀抱

    给我你的怀抱2017-05-19 10:31:52

    變更後放回去:

    var arr =[{"id":1,"name":2},{"id":3,"name":4},{"id":3,"name":2}]
    
    console.log("原始数组:",JSON.stringify(arr)) // 原始数组
    arr = arr.map(function(i){
       return Object.assign(i , { id:10086} ) // 你这里想怎么修改,就怎么修改。 
    });
    console.log("新数组:",JSON.stringify(arr)) // 新数组id已经变了。

    遍歷數組:

    // 第一种
    var arr =[{"id":1,"name":2},{"id":3,"name":4},{"id":3,"name":2}]
    console.log(arr.map((i) => i.id))
    
    // 第二种
    var arr =[{"id":1,"name":2},{"id":3,"name":4},{"id":3,"name":2}]
    arr.map((i) => {
        console.log(i.id)
    })
    
    // 第三种
    var arr =[{"id":1,"name":2},{"id":3,"name":4},{"id":3,"name":2}]
    arr.forEach((i) => {
        console.log(i.id)
    })
    
    // 第四种
    var arr =[{"id":1,"name":2},{"id":3,"name":4},{"id":3,"name":2}]
    for(var i=0,l=arr.length;i<l;){
        console.log(arr[i++].id)
    }
    
    // 第五种
    var arr =[{"id":1,"name":2},{"id":3,"name":4},{"id":3,"name":2}]
    for(var i in arr){ console.log(arr[i].id) }

    回覆
    0
  • PHP中文网

    PHP中文网2017-05-19 10:31:52

    var arr =[{"id":1,"name":2},{"id":3,"name":4},{"id":3,"name":2}]
    怎麼循環出arr 的id?
    循環出來後,修改這些id的值了,再怎麼存回去?


    個人比較推崇 forEach map 這些比較函數式的寫法

    function arrGenerator(){
        // return 原数组; 
        return [{"id":1,"name":2},{"id":3,"name":4},{"id":3,"name":2}];  
    }
    
    
    var arr = arrGenerator(); 
    var res = arr.map(item => item.id * 2); // 这里处理id 把原数组映射成另外个数组 
    // => 
    // [2, 6, 6]
    
    var arr2 = arrGenerator(); 
    var res2 = arr2.map(item => {
        return {
            id: item.id * 2, // 这里处理 id
            name: item.name + '酱❤❤'
        }
    }); 
    

    對數組的操作就跟做集合映射一樣

    尤其是這個。 。 。 真讓人陶醉
    arr.map(item => item.id * 2)

    回覆
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-19 10:31:52

    簡單易懂的方法直接循環然後根據你要改的id做判斷然後重新賦值

    回覆
    0
  • 取消回覆