search

Home  >  Q&A  >  body text

JavaScript数组的拼凑问题

有如下代码:

1

2

3

4

5

6

7

8

9

10

11

12

var arr1 = [1,2,3,4,5,6,7,8,9,10,11,12];

 

var arr2 = [{

    count:3,

    month:5,

   },

   {

    count:6,

    month:7

   }];

现在需要合成另外一个数组:

var result = [null,null,null,null,null,3,null,6,null,null,null,null];

即:所求数组有数据(3,5)的为arr2中的count的值,所在的下标为arr2中的month的值,其他置空,数组长度为arr1的长度,请问应该怎么做?

新手求大神指点


高洛峰高洛峰3074 days ago737

reply all(1)I'll reply

  • 三叔

    三叔2016-11-02 11:11:21

    完全无法理解你的描述。看起来像是一个根据月份的统计数据用数组来展现。
    另外你的arr2里面mouth:5后面的 ,要去掉
    那么这样的话你的arr1没有存在的必要。

    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

    26

    27

    28

    29

    30

    31

    32

    33

    34

    var arr2 = [{

        'count':3,

        'month':5

       },

       {

        'count':6,

        'month':7

       },

       {

        'count':7,

        'month':2

       },

       {

        'count':1,

        'month':8

       },

       {

        'count':2,

        'month':1

       }];

    console.table(arr2);

    console.log(arr2);

    var arrResult = [];

    arrResult.length = 11;

    for (var i = arrResult.length - 1; i >= 0; i--) {

        arrResult[i] = null;

    };

    for (var i = arr2.length - 1; i >= 0; i--) {

        arrResult[arr2[i].month]=arr2[i].count;

    };

    console.log(arrResult);

    // 输出[null, 2, 7, null, null, 3, null, 6, 1, null, null]

    //不做循环null处理的话输出 [1: 2, 2: 7, 5: 3, 7: 6, 8: 1] 

    // 前面数字是下标,后面是值,别忘了数组也是对象。


    reply
    0
  • Cancelreply