gpt4 book ai didi

javascript - 对应对象的聚合属性值

转载 作者:行者123 更新时间:2023-11-28 05:12:12 26 4
gpt4 key购买 nike

我有一组对象,如下所示:

{"id":136073,"date":"2016-12-13 16:06:55","user":"test1","expt":"ex3","subj":"1481645153775","cond":"Male,Yes","stim":"Peace","resp":0}
{"id":136075,"date":"2016-12-13 16:07:04","user":"test1","expt":"ex3","subj":"1481645035859","cond":"Male,Yes","stim":"Marriage","resp":0}
{"id":136077,"date":"2016-12-13 16:09:55","user":"test1","expt":"ex3","subj":"1481645377779","cond":"Male,Yes","stim":"Alone","resp":0}
{"id":136079,"date":"2016-12-13 16:11:41","user":"test1","expt":"ex3","subj":"1481645377779","cond":"Male,Yes","stim":"Peace","resp":0}
{"id":136145,"date":"2016-12-13 18:49:22","user":"test1","expt":"ex3","subj":"1481654705832","cond":"Male,No","stim":"Alone","resp":-2}
{"id":136147,"date":"2016-12-13 18:49:36","user":"test1","expt":"ex3","subj":"1481654705832","cond":"Male,No","stim":"Peace","resp":0}
{"id":136771,"date":"2016-12-13 22:19:01","user":"test1","expt":"ex3","subj":"1481667464470","cond":"Male,Yes","stim":"Alone","resp":2}

我想将它们分组到一个名为 results 的数组中。

我想聚合具有相同 subj 属性值的对象的 resp 属性值。

到目前为止,我所做的是创建一个要查找的唯一主题列表,并且我想将总和存储在它们旁边。

for (var i=0;i<results.length;i++) {

// console.log(JSON.stringify(results[i].subj))

if (i>0 && test.includes(results[i].subj)){

} else {
var total = test.push(results[i].subj)
// var total2 = test.push(results.resp)
// console.log(JSON.stringify(test))
}
}

console.log(test)

通过这个我有了一系列的主题。

我该怎么办

1-找到所有相应的resp

2-求和

3-将它们存储在主题旁边?

最佳答案

您可以使用哈希表对结果进行分组。

var results = [{ id: 136073, date: "2016-12-13 16:06:55", user: "test1", expt: "ex3", subj: "1481645153775", cond: "Male,Yes", stim: "Peace", resp: 0 }, { id: 136075, date: "2016-12-13 16:07:04", user: "test1", expt: "ex3", subj: "1481645035859", cond: "Male,Yes", stim: "Marriage", resp: 0 }, { id: 136077, date: "2016-12-13 16:09:55", user: "test1", expt: "ex3", subj: "1481645377779", cond: "Male,Yes", stim: "Alone", resp: 0 }, { id: 136079, date: "2016-12-13 16:11:41", user: "test1", expt: "ex3", subj: "1481645377779", cond: "Male,Yes", stim: "Peace", resp: 0 }, { id: 136145, date: "2016-12-13 18:49:22", user: "test1", expt: "ex3", subj: "1481654705832", cond: "Male,No", stim: "Alone", resp: -2 }, { id: 136147, date: "2016-12-13 18:49:36", user: "test1", expt: "ex3", subj: "1481654705832", cond: "Male,No", stim: "Peace", resp: 0 }, { id: 136771, date: "2016-12-13 22:19:01", user: "test1", expt: "ex3", subj: "1481667464470", cond: "Male,Yes", stim: "Alone", resp: 2 }],
grouped = [];

results.forEach(function (a) {
if (!this[a.subj]) {
this[a.subj] = { subj: a.subj, resp: 0 };
grouped.push(this[a.subj]);
}
this[a.subj].resp += a.resp;
}, Object.create(null));

console.log(grouped);
.as-console-wrapper { max-height: 100% !important; top: 0; }

关于javascript - 对应对象的聚合属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41272425/

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