Vue.js 将对象值求和
我有一个目标,我需要对结果求和。 例如,我有2个数组,每个数组有4个对象。 我需要对范围在400和700之间的对象的结果求和。 我想排除范围测试[700-800]的结果 最后,我需要把所有这些结果加在变量结果中 新Vue{ el:“应用程序”, vuetify:新的vuetify, 资料{ 返回{ 名单:[ {结果:1.205281224980167,检验范围:[400500]}, {结果:1.3752106835385345,检验范围:[500600]}, {结果:1.955824674225325,检验范围:[600700]}, {结果:0.6175274642830954,检验范围:[700800]}, {结果:0.6327715359706052,检验范围:[400500]}, {结果:0.721984345620436,检验范围:[500600]}, {结果:1.026806173906662,检验范围:[600700]}, {结果:0.32420135150190965,检验范围:[700800]}, ], }; }, 计算:{ 检验结果{ 返回null; }, }, };Vue.js 将对象值求和,vue.js,vuetify.js,Vue.js,Vuetify.js,我有一个目标,我需要对结果求和。 例如,我有2个数组,每个数组有4个对象。 我需要对范围在400和700之间的对象的结果求和。 我想排除范围测试[700-800]的结果 最后,我需要把所有这些结果加在变量结果中 新Vue{ el:“应用程序”, vuetify:新的vuetify, 资料{ 返回{ 名单:[ {结果:1.205281224980167,检验范围:[400500]}, {结果:1.3752106835385345,检验范围:[500600]}, {结果:1.955824674225
您需要为计算创建一个计算属性: 请参阅下面的代码: 新Vue{ el:“应用程序”, vuetify:新的vuetify, 资料{ 返回{ 名单:[ {结果:1.205281224980167,检验范围:[400500]}, {结果:1.3752106835385345,检验范围:[500600]}, {结果:1.955824674225325,检验范围:[600700]}, {结果:0.6175274642830954,检验范围:[700800]}, {结果:0.6327715359706052,检验范围:[400500]}, {结果:0.721984345620436,检验范围:[500600]}, {结果:1.026806173906662,检验范围:[600700]}, {结果:0.32420135150190965,检验范围:[700800]}, ], }; }, 计算:{ 检验结果{ 设结果=0; 对于此列表的let项{ 设不正确范围=item.range_of_test.filterrange=>range<400 | | range>700; 如果incorrectRange.length==0{ 结果+=项目结果; } } 返回结果; }, }, }; PS:我更正了你代码中的一些内容 回答你的问题: 如果只想求[400500]或[700800]范围的和,可以这样做: ... 计算:{ 检验结果{ 设结果=0; 对于此列表的let项{ 设[first,second]=item.range\u of_test; 如果 第一个==400和第二个==500|| 第一个==700和第二个==800 { 结果+=项目结果; } } 返回结果; } } ...
您需要为计算创建一个计算属性: 请参阅下面的代码: 新Vue{ el:“应用程序”, vuetify:新的vuetify, 资料{ 返回{ 名单:[ {结果:1.205281224980167,检验范围:[400500]}, {结果:1.3752106835385345,检验范围:[500600]}, {结果:1.955824674225325,检验范围:[600700]}, {结果:0.6175274642830954,检验范围:[700800]}, {结果:0.6327715359706052,检验范围:[400500]}, {结果:0.721984345620436,检验范围:[500600]}, {结果:1.026806173906662,检验范围:[600700]}, {结果:0.32420135150190965,检验范围:[700800]}, ], }; }, 计算:{ 检验结果{ 设结果=0; 对于此列表的let项{ 设不正确范围=item.range_of_test.filterrange=>range<400 | | range>700; 如果incorrectRange.length==0{ 结果+=项目结果; } } 返回结果; }, }, }; PS:我更正了你代码中的一些内容 回答你的问题: 如果只想求[400500]或[700800]范围的和,可以这样做: ... 计算:{ 检验结果{ 设结果=0; 对于此列表的let项{ 设[first,second]=item.range\u of_test; 如果 第一个==400和第二个==500|| 第一个==700和第二个==800 { 结果+=项目结果; } } 返回结果; } } ...
已创建计算属性,如:
computed: {
result_of_test() {
return this.list.reduce((currentValue, item) => {
if((item.range_of_test[0] >= 400 && item.range_of_test[1] <= 800) && !(item.range_of_test[0] >= 700 && item.range_of_test[1] <= 800)){
return currentValue + item.result
}
return currentValue;
}, 0)
}
已创建计算属性,如:
computed: {
result_of_test() {
return this.list.reduce((currentValue, item) => {
if((item.range_of_test[0] >= 400 && item.range_of_test[1] <= 800) && !(item.range_of_test[0] >= 700 && item.range_of_test[1] <= 800)){
return currentValue + item.result
}
return currentValue;
}, 0)
}
很好,你能告诉我怎么做才能得到[400,500]或[700,800]范围的和吗?是的,是可能的。我更新我的答案。这就是你想要的。这个答案解决了你的问题吗?请接受这个答案,这将帮助其他人。很好,你能告诉我怎么做才能得到[400,500]或[700,800]范围的和吗[700800}?是的,是可能的。我更新了我的答案。这就是你想要的?这个答案解决了你的问题吗?请接受这个答案,这将帮助其他人。