我想在JSON对象中找到最大值。这是我的数据-
(3) [{…}, {…}, {…}]
0: {name: "a", value: 12}
1: {name: "b", value: 28}
2: {name: "c", value: 60}
我想获得最大值,但它们是嵌套的。我可以做这样的事情
arr = {}
for (x in jsonObj){
arr.push(x.value)
}
d3.max(arr)
我很好奇是否有更好的方法来处理这种情况。我的目标是使用d3.max()查找最大值。
答案 0 :(得分:5)
尽管Hrishi和Nina Scholz的其他回答都很好,但是我想提一下,使用D3的惯用方式是利用d3.max()
。您可以传入访问器函数作为第二个参数,该参数将为数组的每个成员调用,并返回您感兴趣的嵌套值。
const data = [
{name: "a", value: 12},
{name: "b", value: 28},
{name: "c", value: 60}
];
const maxValue = d3.max(data, d => d.value);
// accessor function ---^
console.log(maxValue); // 60
<script src="https://d3js.org/d3.v5.js"></script>
答案 1 :(得分:0)
array = [
{ name: "a", value: 12 },
{ name: "b", value: 28 },
{ name: "c", value: 60 },
]
console.log(Math.max.apply(Math, array.map(function (e) { return e.value; })));
答案 2 :(得分:0)
您可以通过采用一个很小的值作为起始值来缩小数组,并获得累加器的最大值和该值。
@procname