搜索

首页  >  问答  >  正文

javascript 循环数组的问题

雷雷
阿神阿神2863 天前541

全部回复(3)我来回复

  • 给我你的怀抱

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

    变更后放回去:

    1

    2

    3

    4

    5

    6

    7

    <code>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已经变了。</code>

    遍历数组:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    <code>// 第一种

    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) }</code>

    回复
    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 这些比较函数式的写法

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    <code class="js">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 + '酱❤❤'

        }

    });

    </code>

    对数组的操作就跟做集合映射一样

    尤其是这个。。。 真让人陶醉
    arr.map(item => item.id * 2)

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

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

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

    回复
    0
  • 取消回复