搜尋

首頁  >  問答  >  主體

JavaScript数组的拼凑问题

有如下代码:

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的长度,请问应该怎么做?

新手求大神指点


高洛峰高洛峰2946 天前682

全部回覆(1)我來回復

  • 三叔

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

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

    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] 
    // 前面数字是下标,后面是值,别忘了数组也是对象。


    回覆
    0
  • 取消回覆