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]);
}