[英]Appending last JSON object to the previous in array
我有一个 function 输出 json 对象的数组,其中最后一个在结构上是唯一的:
// multi
[
{ "min": 10, "max": 200, "sum": 580, "avg": 72.5 },
{ "min": 10, "max": 470, "sum": 8300, "avg": 103.75 },
{ "largest": 470 }
]
// single
[
{ "min": 20, "max": 190, "sum": 270, "avg": 90 },
{ "largest": 190 }
]
是否可以将 append 最后一部分{ "largest": n }
放到数组中的其他对象上?
所以 output 将是:
// multi
[ { "min": 10, "max": 200, "sum": 580, "avg": 72.5, "largest": 470 },
{ "min": 10, "max": 470, "sum": 8300, "avg": 103.75, "largest": 470 }
]
// single
[
{ "min": 20, "max": 190, "sum": 270, "avg": 90, "largest": 190 }
]
对数组进行切片以省略最后一个条目,然后将 map 每个条目合并到最后一个条目中
function mergeLastEntry(arr) { const last = arr[arr.length - 1] // get the last entry // map each object (except the last) to merge in the `last` object return arr.slice(0, -1).map(o => ({...o, ...last })) } const multi =[{"min":10,"max":200,"sum":580,"avg":72.5},{"min":10,"max":470,"sum":8300,"avg":103.75},{"largest":470}] const single = [{"min":20,"max":190,"sum":270,"avg":90},{"largest":190}] console.log("multi", mergeLastEntry(multi)) console.log("single", mergeLastEntry(single))
.as-console-wrapper { max-height: 100%;important; }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.