У меня есть JSON-файл, как это:Получить максимальное значение из JSON объектов D3JS
{
"directed":false,
"graph":[
[
"node_default",
{
}
],
[
"name",
"()_with_int_labels"
],
[
"edge_default",
{
}
]
],
"nodes":[
{
"id":0,
"Year":1996,
"Venue":"SWAT",
"cYear":1996,
"label":"The randomized complexity of maintaining the minimum"
},
{
"id":1,
"Year":1998,
"Venue":"SWAT",
"cYear":1998,
"label":"Probabilistic data structures for priority queues"
}
],
"links":[
{
"Edge Id":"12640",
"target":65,
"source":0,
"Year":2011
},
{
"Edge Id":"12714",
"target":50,
"source":0,
"Year":1996
}
],
"multigraph":false
}
я хотел бы получить максимальное значение переменной Year
из nodes
и показать его в журнале консоли в первом а затем использовать его как переменную для дальнейшей обработки.
То, что я сделал это:
d3.json("swatwads.json", function(error, graph) {
graphdata=graph;
graphRec=JSON.parse(JSON.stringify(graph)); //Add this line
// Node and Link habitual defitions
console.log(d3.max(d3.values(graph.nodes, function(d) {return d.Year;})));
});
Когда я запускаю код он извлекает весь объект первого nodes
а то, что я хочу, это максимальное значение переменной Year
из nodes
объектов.
Что я сделал не так? И как я могу это исправить?
Спасибо!
Почему вы строчите свой объект 'graph', затем верните строку обратно в объект, используя синтаксический анализ? Это кажется ненужным. Если это уже какой-то объект, поменяйте его на json, чтобы просто вернуть его обратно в obj ??? 'graphRec = JSON.parse (JSON.stringify (graph)); Или вы пытаетесь сломать ссылку? – Liam
'graphdata == graph == graphRec' все 3 из этих объектов кажутся бессмысленными. Просто используйте график! – Liam
@ Liam кажется законным, я увидел пример, который говорит, что это хорошая практика, когда дело доходит до получения данных, но не в моем случае. Я удалил эту строку, но все равно получаю те же результаты. – user1885868