明天的明天 永远的永远 未知的一切 我与你一起承担 ??

是非成败转头空 青山依旧在 几度夕阳红 。。。
  博客园  :: 首页  :: 管理

vue中json对象数组求最大、最小、合计方法

Posted on 2024-12-05 09:10  且行且思  阅读(27)  评论(0编辑  收藏  举报

可以使用Array.reduce()方法来求最大、最小、合计值。示例代码如下:

 
// 假设有以下json对象数组
let arr = [
  { name: 'tina', score: 90 },
  { name: 'tom', score: 80 },
  { name: 'john', score: 70 },
  { name: 'jane', score: 85 }
]
// 求最高分
let maxScore = arr.reduce((prev, curr) => {
  return prev.score > curr.score ? prev : curr
})
console.log(maxScore.score) // 输出90
// 求最低分
let minScore = arr.reduce((prev, curr) => {
  return prev.score < curr.score ? prev : curr
})
console.log(minScore.score) // 输出70
// 求总分
let totalScore = arr.reduce((prev, curr) => {
  return prev + curr.score
}, 0)
console.log(totalScore) // 输出325

 

以上示例中,使用了Array.reduce()方法遍历数组,将每个元素的score属性与前一个元素作比较,求出最高分和最低分,同时将每个元素的score属性累加起来,求出总分。


2、向上取整以10为单位

如果你想向下取整(总是向下舍入到最接近的十的整数倍),可以使用:
let number = 123.456;
let result = Math.floor(number / 10) * 10;
console.log(result); // 输出: 120

如果你想向上取整(总是向上舍入到最接近的十的整数倍),可以使用:

let number = 123.456;
let result = Math.ceil(number / 10) * 10;
console.log(result); // 输出: 130

如果你想四舍五入到最接近的十的整数倍,可以使用:

let number = 123.456;
let result = Math.round(number / 10) * 10;
console.log(result); // 输出: 120