gpt4 book ai didi

javascript - 如何使用 javascript 或 jquery 或 angularjs 为所选键添加 JSON 值?

转载 作者:行者123 更新时间:2023-11-29 10:07:41 24 4
gpt4 key购买 nike

我有以下 json:

var json = var data = [{
"a": 150
}, {
"a": 50
}, {
"b": 100
}, {
"b": 25
}];

我想在我的 finaljson 中添加“a”和“b”的值(这是我想要的输出 json),比如:

var finaljson = [{
"a": 200
}, {
"b": 125
}];

如何使用 javascriptjquery 获取给定 json 内容的上述 finaljson 结果结构还是 angularjs

请注意,这里的 finaljson 应该是添加上面的“a”值和“b”值,例如: a: 150+50=200, b: 100+25=125.

请让我知道并提前致谢。已创建 Fiddle .

最佳答案

您可以使用哈希表作为相同键的结果引用。

var data = [{ "a": 150 }, { "a": 50 }, { "b": 100 }, { "b": 25 }],
result = data.reduce(function (hash) {
return function (r, a) {
var key = Object.keys(a)[0],
o = {};

if (!hash[key]) {
o[key] = 0;
hash[key] = o;
r.push(o);
}
hash[key][key] += a[key];
return r;
};
}(Object.create(null)), []);

console.log(result);

ES6 与 Map

var data = [{ "a": 150 }, { "a": 50 }, { "b": 100 }, { "b": 25 }],
result = data.reduce((map => (r, a) => {
var key = Object.keys(a)[0];
if (!map.has(key)) {
map.set(key, { [key]: 0 });
r.push(map.get(key));
}
map.get(key)[key] += a[key];
return r;
})(new Map), []);

console.log(result);

关于javascript - 如何使用 javascript 或 jquery 或 angularjs 为所选键添加 JSON 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40195911/

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