gpt4 book ai didi

JavaScript:动态添加新值以更新 JSON/对象

转载 作者:行者123 更新时间:2023-11-30 07:36:21 25 4
gpt4 key购买 nike

我动态创建了对象(预定义)并将所有年份(2 年,2015 年和 2014 年)的所有月份(实际上我只显示 3 个月的 12 个月)的值设置为 0。所以我的数据网格看起来所有月份都是 0 值。看下面代码

 var arrayObj = [
{"year" : 2015, "month" : "JAN", "value" : 0},
{"year" : 2015, "month" : "FEB", "value" : 0},
{"year" : 2015, "month" : "MAR", "value" : 0},
{"year" : 2014, "month" : "JAN", "value" : 0},
{"year" : 2014, "month" : "FEB", "value" : 0},
{"year" : 2014, "month" : "MAR", "value" : 0}
];

定期地,我会在表单提交后的某个时间以对象格式继续获取单个月的值。

   eq. {"year" : 2015, "month" : "FEB", "value" : 2.33}

所以我原来的对象也应该相应地改变,用javascript代码。像下面..

  var arrayObj = [
{"year" : 2015, "month" : "JAN", "value" : 0},
{"year" : 2015, "month" : "FEB", "value" : 2.33},
{"year" : 2015, "month" : "MAR", "value" : 0},
{"year" : 2014, "month" : "JAN", "value" : 0},
{"year" : 2014, "month" : "FEB", "value" : 0},
{"year" : 2014, "month" : "MAR", "value" : 0}
];

最佳答案

我认为 map 函数在这种情况下会很理想。请看下面的代码段:

var src = [
{"year" : 2015, "month" : "JAN", "value" : 0},
{"year" : 2015, "month" : "FEB", "value" : 0},
{"year" : 2015, "month" : "MAR", "value" : 0},
{"year" : 2014, "month" : "JAN", "value" : 0},
{"year" : 2014, "month" : "FEB", "value" : 0},
{"year" : 2014, "month" : "MAR", "value" : 0}
];

var newRecord = {
"year": 2015,
"month": "FEB",
"value": 2.33
};

function updateJSON(src, newRecord) {
return src.map(function(item) {
return (item.year === newRecord.year && item.month === newRecord.month) ? newRecord : item;
});
}
src = updateJSON(src, newRecord);
console.log(src);

关于JavaScript:动态添加新值以更新 JSON/对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31678217/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com