Javascript将对象列表添加到现有JSON格式数组中

问题描述 投票:0回答:3

我有一个JSON数组中的对象列表,我想用数字分配整个列表,我在想要的列表下面添加了我的列表

enter image description here

我可以在下面的for循环中产生数字。

var points = new Array(100);
    for (var i = 0; i < 100; i++) {
        points[i] = i + 1; 
    }
    for (var i = 0; i < points.length; i++) {
     console.log("number:",points[i]); 

我的数组列表

   var jarray = [];
for (var i=0; i<this.admission.length && i<this.fevscore.length; i++)
    jarray[i] = [this.admission[i], this.fevscore[i]];
    this.admissionData = jarray[0][0]
    this.FevData = jarray[0][1];

在下面寻找结果:


0: {number:1 ,date0: "2015-01-28", date1: "2015-02-04"}
1: {number:2 ,date0: "2015-08-27", date1: "2015-09-07"}
2: {number:3 ,date0: "2015-12-24", date1: "2016-01-05"}
3: {number:4 ,date0: "2016-02-23", date1: "2016-03-01"}
4: {number:5 ,date0: "2016-05-29", date1: "2016-06-12"}
5: {number:6 ,date0: "2016-10-24", date1: "2016-10-29"}
6: {number:7 ,date0: "2017-03-26", date1: "2017-04-21"}
7: {number:8 ,date0: "2017-06-22", date1: "2017-07-08"}
8: {number:9 ,date0: "2017-07-26", date1: "2017-08-12"}
9: {number:10 ,date0: "2018-04-24", date1: "2018-05-13"}
10: {number:11 ,date0: "2018-10-10", date1: "2018-10-21"}
11: {number:12 ,date0: "2018-10-24", date1: "2018-11-01"}
12: {and so on... date0: "2019-01-27", date1: "2019-02-12"}
13: {date0: "2019-02-02", date1: "2019-02-13"}
14: {date0: "2019-06-16", date1: "2019-07-10"}
15: {date: "2015-01-28", value0: 6.5}
16: {date: "2019-01-27", value0: 12.2}
17: {date: "2017-07-26", value0: 6.4}
18: {date: "2017-06-22", value0: 12.2}
19: {date: "2015-12-24", value0: 12.2}
20: {date: "2016-10-24", value0: 9.5}
21: {date: "2015-08-27", value0: 12.5}
22: {date: "2018-10-10", value0: 9.6}
23: {date: "2018-10-24", value0: 12.1}
24: {date: "2016-05-29", value0: 10.9}
25: {date: "2019-02-02", value0: 13.3}

javascript arrays json angularjs
3个回答
0
投票

您可以为此使用地图,例如:

const list = [
  { name: 'foo', value: 1 },
  { name: 'bar', value: 2 }, 
  { name: 'zzz', value: 3 }
];
const listWithIndex = list.map((item, index) => (
  { [index]: item }
));

console.log(listWithIndex)
// [
//   0: { name: 'foo', value: 1 },
//   1: { name: 'bar', value: 2 },
//   2: { name: 'zzz', value: 3 }
// ]

我强烈建议您在实施此解决方案之前阅读map docs


0
投票

我的方法是使用forEach数组函数来分配您的数字属性。它比常规的for循环更简洁易读。

points.forEach( (elem, index) => elem.number = index + 1 );

-1
投票

您可以使用map并为每个对象分配新属性:

const arrayWithNums = points.map((point, index) => point.number = index + 1);
console.log(arratWithNums);
© www.soinside.com 2019 - 2024. All rights reserved.