Данные:Доступ к объектам, хранящимся в массивах, хранящихся в объектах
var graphs = {
"links": [
{"source": 1, "target": 2},
{"source": 3, "target": 4}
]
}
Вставка ссылок в переменную, называемую ссылками;
var links = graphs.links;
Как получить доступ к исходным и целевым значениям? Спасибо заранее.
re некоторые из полученных ответов - я думаю, что моя проблема зависит от контекста. Я попробовал ссылки [x] .source, чтобы вернуть источник xth-ссылки, однако, когда я пытаюсь использовать его в своем коде в определенной точке, я получаю массив возвращаемых объектов, а не значений;
Это полный фрагмент кода;
d3.select("#filterResults")
.on("click", function() {
//d3.selectAll("circle").filter(function(d, i) {return i % 2 == 0})
// .attr("fill", "green")
var nodeArray = []
d3.selectAll("circle[fill=\"Red\"]")
.each(function(d, i) {
if (d3.select(this).attr("fill") == "Red") {
nodeArray.push(d3.select(this).attr("node-index"))
}
})
nodeArray.forEach(function(srcNode, srcIdx, srcList) {
alert(srcNode)
})
for (i=0; i < links.length; i++) {
alert(links[i].source)
})
Цель состоит в том, чтобы определить, какие узлы пользователь нажал (и покраснел), а затем в конечном счете, я создам набор данных только из этих узлов и обновить свой выбор данных, чтобы показать только те. Это своего рода метод фильтрации в контексте силы d3.
Так почему же здесь не происходит повторение ссылок? Я могу использовать links.length, и я получаю правильное количество ссылок, поэтому я могу просто ссылаться на массив.
Используйте скобки обозначение 'ссылки [индекс] .source' или итерации через массив. Это довольно простой вопрос. – undefined
Либо прямо, как 'graphs.links [0] .source', либо используя цикл. – Phylogenesis
Привет, избиратели, вопрос конкретный и актуальный (и с примерами кода!) - что еще вы хотите? – pherris