JavaScript数组的拼凑问题
高洛峰
高洛峰 2016-11-02 11:10:42
0
1
686

有如下代码:

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

新手求大神指点


高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

membalas semua(1)
三叔

完全无法理解你的描述。看起来像是一个根据月份的统计数据用数组来展现。
另外你的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] 
// 前面数字是下标,后面是值,别忘了数组也是对象。


Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan