Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript添加键值对的值_Javascript_Arrays - Fatal编程技术网

JavaScript添加键值对的值

JavaScript添加键值对的值,javascript,arrays,Javascript,Arrays,我有这样一个数组: [ 0:{20: 24, 30: 37, 40: 17, 50: 16, 60: 5, 70: 2, day: "1"} 1:{20: 69, 30: 163, 40: 88, 50: 42, 60: 27, 80: 2, -1: 3, day: "2"} 2:{20: 78, 30: 220, 40: 88, 50: 49, 60: 22, 70: 1, 130: 2, -1: 9, day: "3"} 3:{20: 14, 30: 18, 40: 7, 50: 10

我有这样一个数组:

[
0:{20: 24, 30: 37, 40: 17, 50: 16, 60: 5, 70: 2, day: "1"}

1:{20: 69, 30: 163, 40: 88, 50: 42, 60: 27, 80: 2, -1: 3, day: "2"}

2:{20: 78, 30: 220, 40: 88, 50: 49, 60: 22, 70: 1, 130: 2, -1: 9, day: "3"}

3:{20: 14, 30: 18, 40: 7, 50: 10, 60: 3, day: "4"}

4:{20: 21, 30: 63, 40: 22, 50: 9, 60: 5, -1: 1, day: "5"}

5:{20: 12, 30: 38, 40: 10, 50: 13, 60: 1, -1: 1, day: "6"}

6:{20: 23, 30: 39, 40: 21, 50: 5, 60: 1, -1: 1, day: "7"}

7:{20: 57, 30: 156, 40: 67, 50: 19, 60: 17, 70: 1, 80: 1, -1: 5, day: "8"}

8:{20: 67, 30: 169, 40: 86, 50: 56, 60: 30, -1: 6, day: "9"}

9:{20: 101, 30: 209, 40: 99, 50: 56, 60: 34, -1: 10, day: "10"}

10:{10: 1, 20: 108, 30: 223, 40: 134, 50: 60, 60: 40, 70: 3, 80: 2, 130: 3, -1: 10, day: "11"}

11:{10: 2, 20: 73, 30: 158, 40: 72, 50: 39, 60: 22, -1: 11, day: "12"}

12:{20: 66, 30: 126, 40: 59, 50: 26, 60: 12, 70: 2, -1: 11, day: "13"}

13:{10: 1, 20: 36, 30: 85, 40: 34, 50: 10, 60: 11, -1: 14, day: "14"}

14:{10: 1, 20: 57, 30: 146, 40: 43, 50: 33, 60: 12, 70: 1, -1: 4, day: "15"}

15:{20: 91, 30: 209, 40: 132, 50: 56, 60: 30, 70: 1, 80: 1, -1: 5, day: "16"}

16:{20: 74, 30: 185, 40: 73, 50: 34, 60: 21, 70: 1, 80: 1, -1: 13, day: "17"}

17:{20: 78, 30: 208, 40: 101, 50: 41, 60: 34, 80: 1, -1: 7, day: "18"}

18:{20: 85, 30: 244, 40: 111, 50: 53, 60: 35, 70: 1, -1: 13, day: "19"}

19:{20: 87, 30: 191, 40: 113, 50: 49, 60: 26, 70: 2, 130: 1, -1: 37, day: "20"}

20:{20: 91, 30: 170, 40: 77, 50: 45, 60: 18, 70: 2, -1: 54, day: "21"}

21:{20: 126, 30: 284, 40: 134, 50: 68, 60: 41, 80: 2, -1: 11, day: "22"}

22:{20: 101, 30: 238, 40: 100, 50: 50, 60: 29, 80: 1, -1: 5, day: "23"}

23:{20: 131, 30: 265, 40: 125, 50: 54, 60: 27, 80: 1, -1: 12, day: "24"}

24:{20: 91, 30: 244, 40: 138, 50: 66, 60: 29, 70: 1, 80: 1, 130: 2, -1: 13, day: "25"}

25:{20: 95, 30: 269, 40: 123, 50: 53, 60: 33, 130: 1, -1: 14, day: "26"}

26:{20: 110, 30: 221, 40: 83, 50: 42, 60: 23, 80: 2, -1: 26, day: "27"}

27:{20: 70, 30: 130, 40: 38, 50: 33, 60: 13, 80: 1, -1: 2, day: "28"}

28:{20: 122, 30: 310, 40: 160, 50: 53, 60: 31, 80: 2, 130: 1, -1: 15, day: "29"}

29:{20: 91, 30: 204, 40: 97, 50: 59, 60: 21, -1: 13, day: "30"}

30:{20: 97, 30: 206, 40: 125, 50: 53, 60: 27, 130: 1, -1: 16, day: "31"}
]
我想按行添加数组中的所有值 示例:0:{20:24,30:37,40:17,50:16,60:5,70:2,day:1}

剩余值也一样,并存储它们
101,…所有的附加值

如果这个JSON是有效的,我会尝试这样的方法

function addValues(object) {
  let total = 0
  for (const [key, value] of Object.entries(obj)) {
    total += parseInt(value)
  }
  return total
}
然后,插入对象

addValues(myArray[0])
…编辑: 我将遍历数组中的所有项,对每个对象调用addTotals并返回最终值。大概是这样的:

function() {
  let total = 0
  myArray.forEach(obj => {
    total += addValues(obj)
  })
  return total
}

在我公开时,提供JSON是有效的,您希望在另一个数组中得到结果:

var foo = [
{20: 24, 30: 37, 40: 17, 50: 16, 60: 5, 70: 2, day: "1"},

{20: 69, 30: 163, 40: 88, 50: 42, 60: 27, 80: 2, "-1": 3, day: "2"},

{20: 78, 30: 220, 40: 88, 50: 49, 60: 22, 70: 1, 130: 2, "-1": 9, day: "3"},

{20: 14, 30: 18, 40: 7, 50: 10, 60: 3, day: "4"},

{20: 21, 30: 63, 40: 22, 50: 9, 60: 5, "-1": 1, day: "5"},

{20: 12, 30: 38, 40: 10, 50: 13, 60: 1, "-1": 1, day: "6"},

{20: 23, 30: 39, 40: 21, 50: 5, 60: 1, "-1": 1, day: "7"},

{20: 57, 30: 156, 40: 67, 50: 19, 60: 17, 70: 1, 80: 1, "-1": 5, day: "8"},

{20: 67, 30: 169, 40: 86, 50: 56, 60: 30, "-1": 6, day: "9"},

{20: 101, 30: 209, 40: 99, 50: 56, 60: 34, "-1": 10, day: "10"},

{10: 1, 20: 108, 30: 223, 40: 134, 50: 60, 60: 40, 70: 3, 80: 2, 130: 3, "-1": 10, day: "11"},

{10: 2, 20: 73, 30: 158, 40: 72, 50: 39, 60: 22, "-1": 11, day: "12"},

{20: 66, 30: 126, 40: 59, 50: 26, 60: 12, 70: 2, "-1": 11, day: "13"},

{10: 1, 20: 36, 30: 85, 40: 34, 50: 10, 60: 11, "-1": 14, day: "14"},

{10: 1, 20: 57, 30: 146, 40: 43, 50: 33, 60: 12, 70: 1, "-1": 4, day: "15"},

{20: 91, 30: 209, 40: 132, 50: 56, 60: 30, 70: 1, 80: 1, "-1": 5, day: "16"},

{20: 74, 30: 185, 40: 73, 50: 34, 60: 21, 70: 1, 80: 1, "-1": 13, day: "17"},

{20: 78, 30: 208, 40: 101, 50: 41, 60: 34, 80: 1, "-1": 7, day: "18"},

{20: 85, 30: 244, 40: 111, 50: 53, 60: 35, 70: 1, "-1": 13, day: "19"},

{20: 87, 30: 191, 40: 113, 50: 49, 60: 26, 70: 2, 130: 1, "-1": 37, day: "20"},

{20: 91, 30: 170, 40: 77, 50: 45, 60: 18, 70: 2, "-1": 54, day: "21"},

{20: 126, 30: 284, 40: 134, 50: 68, 60: 41, 80: 2, "-1": 11, day: "22"},

{20: 101, 30: 238, 40: 100, 50: 50, 60: 29, 80: 1, "-1": 5, day: "23"},

{20: 131, 30: 265, 40: 125, 50: 54, 60: 27, 80: 1, "-1": 12, day: "24"},

{20: 91, 30: 244, 40: 138, 50: 66, 60: 29, 70: 1, 80: 1, 130: 2, "-1": 13, day: "25"},

{20: 95, 30: 269, 40: 123, 50: 53, 60: 33, 130: 1, "-1": 14, day: "26"},

{20: 110, 30: 221, 40: 83, 50: 42, 60: 23, 80: 2, "-1": 26, day: "27"},

{20: 70, 30: 130, 40: 38, 50: 33, 60: 13, 80: 1, "-1": 2, day: "28"},

{20: 122, 30: 310, 40: 160, 50: 53, 60: 31, 80: 2, 130: 1, "-1": 15, day: "29"},

{20: 91, 30: 204, 40: 97, 50: 59, 60: 21, "-1": 13, day: "30"},

{20: 97, 30: 206, 40: 125, 50: 53, 60: 27, 130: 1, "-1": 16, day: "31"}
];

let bar = [];
for (let i = 0; i < foo.length; i++) {
  let sum = 0;
    for (let property in foo[i]) {
    if (foo[i].hasOwnProperty(property) && property != 'day') {
        // do stuff
        sum += foo[i][property];
    }
  }
  bar.push(sum);
  console.log(bar[i]);
}
您可以使用函数reduce和map

使用每个对象的总和创建一个新数组

var数组=[{20:24,30:37,40:17,50:16,60:5,70:2,day:1},{20:69,30:163,40:88,50:42,60:27,80:2,-1:3,day:2},{20:78,30:220,40:88,50:49,60:22,70:1130:2,-1:9,第3天,{20:14,30:18,40:7,50:10,60:3,第4天,{20:21,30:63,40:22,50:9,60:5,-1:1,第5天},{20:12,30:38,40:10,50:13,60:1,-1:1,日:6},{20:23,30:39,40:21,50:5,60:1,-1:1,日:7},{20:57,30:156,40:67,50:19,60:17,70:1,80:1,-1:5,日:8},{20:67,30:169,40:86,50:56,60:30,-1:6,日:9},{20:101,30:209,40:99,50:56,60:34,-1:10,日:10},{10:1,20:108,30:223,40:134,50:60,60:40,70:3,80:2130:3,-1:10,日:11},{10:2,20:73,30:158,40:72,50:39,60:22,-1:11,日:12},{20:66,30:126,40:59,50:26,60:12,70:2,-1:11,日:13},{10:1,20:36,30:85,40:34,50:10,60:11,-1:14,day:14},{10:1,20:57,30:146,40:43,50:33,60:12,70:1,-1:4,day:15},{20:91,30:209,40:132,50:56,60:30,70:1,80:1,-1:5,日:16},{20:74,30:185,40:73,50:34,60:21,70:1,80:1,-1:13,日:17},{20:78,30:208,40:101,50:41,60:34,80:1,-1:7,日:18},{20:85,30:244,40:111,50:53,60:35,70:1,-1:13,日:19},{20:87,30:191,40:113,50:49,60:26,70:2130:1,-1:37,日期:20},{20:91,30:170,40:77,50:45,60:18,70:2,-1:54,日期:21},{20:126,30:284,40:134,50:68,60:41,80:2,-1:11,日:22},{20:101,30:238,40:100,50:50,60:29,80:1,-1:5,日:23},{20:131,30:265,40:125,50:54,60:27,80:1,-1:12,day:24},{20:91,30:244,40:138,50:66,60:29,70:1,80:1,130:2,-1:13,day:25},{20:95,30:269,40:123,50:53,60:33,130:1,-1:14,第26天},{20:110,30:221,40:83,50:42,60:23,80:2,-1:26,第27天},{20:70,30:130,40:38,50:33,60:13,80:1,-1:2,day:28},{20:122,30:310,40:160,50:53,60:31,80:2130:1,-1:15,day:29},{20:91,30:204,40:97,50:59,60:21,-1:13,日:30},{20:97,30:206,40:125,50:53,60:27,130:1,-1:16,日:31}]; var result=array.mapo=>Object.keyso.reducea,k=>a+k==day?0:o[k],0; console.logresult; .作为控制台包装{最大高度:100%!重要;顶部:0;}和wha
这正是你的问题?这不是一个代码编写服务。尝试一些东西,并询问你有什么问题。请在这里发布之前尝试一些东西!此外,这是一个无效的JSON,其索引位于obj旁边。
var foo = [
{20: 24, 30: 37, 40: 17, 50: 16, 60: 5, 70: 2, day: "1"},

{20: 69, 30: 163, 40: 88, 50: 42, 60: 27, 80: 2, "-1": 3, day: "2"},

{20: 78, 30: 220, 40: 88, 50: 49, 60: 22, 70: 1, 130: 2, "-1": 9, day: "3"},

{20: 14, 30: 18, 40: 7, 50: 10, 60: 3, day: "4"},

{20: 21, 30: 63, 40: 22, 50: 9, 60: 5, "-1": 1, day: "5"},

{20: 12, 30: 38, 40: 10, 50: 13, 60: 1, "-1": 1, day: "6"},

{20: 23, 30: 39, 40: 21, 50: 5, 60: 1, "-1": 1, day: "7"},

{20: 57, 30: 156, 40: 67, 50: 19, 60: 17, 70: 1, 80: 1, "-1": 5, day: "8"},

{20: 67, 30: 169, 40: 86, 50: 56, 60: 30, "-1": 6, day: "9"},

{20: 101, 30: 209, 40: 99, 50: 56, 60: 34, "-1": 10, day: "10"},

{10: 1, 20: 108, 30: 223, 40: 134, 50: 60, 60: 40, 70: 3, 80: 2, 130: 3, "-1": 10, day: "11"},

{10: 2, 20: 73, 30: 158, 40: 72, 50: 39, 60: 22, "-1": 11, day: "12"},

{20: 66, 30: 126, 40: 59, 50: 26, 60: 12, 70: 2, "-1": 11, day: "13"},

{10: 1, 20: 36, 30: 85, 40: 34, 50: 10, 60: 11, "-1": 14, day: "14"},

{10: 1, 20: 57, 30: 146, 40: 43, 50: 33, 60: 12, 70: 1, "-1": 4, day: "15"},

{20: 91, 30: 209, 40: 132, 50: 56, 60: 30, 70: 1, 80: 1, "-1": 5, day: "16"},

{20: 74, 30: 185, 40: 73, 50: 34, 60: 21, 70: 1, 80: 1, "-1": 13, day: "17"},

{20: 78, 30: 208, 40: 101, 50: 41, 60: 34, 80: 1, "-1": 7, day: "18"},

{20: 85, 30: 244, 40: 111, 50: 53, 60: 35, 70: 1, "-1": 13, day: "19"},

{20: 87, 30: 191, 40: 113, 50: 49, 60: 26, 70: 2, 130: 1, "-1": 37, day: "20"},

{20: 91, 30: 170, 40: 77, 50: 45, 60: 18, 70: 2, "-1": 54, day: "21"},

{20: 126, 30: 284, 40: 134, 50: 68, 60: 41, 80: 2, "-1": 11, day: "22"},

{20: 101, 30: 238, 40: 100, 50: 50, 60: 29, 80: 1, "-1": 5, day: "23"},

{20: 131, 30: 265, 40: 125, 50: 54, 60: 27, 80: 1, "-1": 12, day: "24"},

{20: 91, 30: 244, 40: 138, 50: 66, 60: 29, 70: 1, 80: 1, 130: 2, "-1": 13, day: "25"},

{20: 95, 30: 269, 40: 123, 50: 53, 60: 33, 130: 1, "-1": 14, day: "26"},

{20: 110, 30: 221, 40: 83, 50: 42, 60: 23, 80: 2, "-1": 26, day: "27"},

{20: 70, 30: 130, 40: 38, 50: 33, 60: 13, 80: 1, "-1": 2, day: "28"},

{20: 122, 30: 310, 40: 160, 50: 53, 60: 31, 80: 2, 130: 1, "-1": 15, day: "29"},

{20: 91, 30: 204, 40: 97, 50: 59, 60: 21, "-1": 13, day: "30"},

{20: 97, 30: 206, 40: 125, 50: 53, 60: 27, 130: 1, "-1": 16, day: "31"}
];

let bar = [];
for (let i = 0; i < foo.length; i++) {
  let sum = 0;
    for (let property in foo[i]) {
    if (foo[i].hasOwnProperty(property) && property != 'day') {
        // do stuff
        sum += foo[i][property];
    }
  }
  bar.push(sum);
  console.log(bar[i]);
}