Heim  >  Fragen und Antworten  >  Hauptteil

Problem mit dem Javascript-Loop-Array

var arr =[{"id":1,"name":2},{"id":3,"name":4},{"id":3,"name":2}]
怎么循环出arr 的id?
循环出来后,修改这些id的值了,再怎么存回去?
阿神阿神2711 Tage vor486

Antworte allen(3)Ich werde antworten

  • 给我你的怀抱

    给我你的怀抱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) }

    Antwort
    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)

    Antwort
    0
  • 曾经蜡笔没有小新

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

    通俗易懂的方法直接循环然后根据你要改的id做判断然后重新赋值

    Antwort
    0
  • StornierenAntwort