저는 d3.js 차트 라이브러리를 사용하고 있으며 데이터 객체를 한 방향으로 받아 들일만한 extension 레이더 차트를 사용하고 있습니다. 확장을위한 코드를 변경하는 대신, 데이터를 받아들이도록 코딩 된 종류로 조작하는 것이 더 쉬울 것이라고 생각했습니다. 이해가된다면?자바 스크립트를 사용하여 JSON 객체를 배열로 조작하는 방법
아무튼, 이것이 내 코드입니다.
내 JSON :
{
"questions": ["Staff is courteous and polite","Attentive staff","Modern brand","Innovative brand","Good employer","Company I trust","Place for kids and family","Place for young people","Affordable food"],
"organizations": ["MC", "BK", "KFC"],
"dates": ["Jan", "Feb", "Mar"],
"values": [ [
[40, 15, 13],
[25, 24, 14],
[1, 23, 20]] ... etc etc
자바 스크립트 :
d3.json("data.json", function(error, data) {
var newValue =[];
var yellow = [
[
{"label":"A","value":6},
{"label":"B","value":4},
{"label":"C","value":6},
{"label":"D","value":5.5},
{"label":"E","value":8},
{"label":"F","value":7},
{"label":"G","value":9},
{"label":"H","value":10},
{"label":"I","value":3.5}
]
];
if (error) {
console.log(error);
}
else {
data = data;
}
var newValue = [];
var orgS = "MC";
var dateS = "Jan";
for (var question = 0; question < data.questions.length; question++) {
var organization = data.organizations.indexOf(orgS);
var date = data.dates.indexOf(dateS);
newValue.push({
label: data.questions[question],
value: data.values[question][organization][date]
});
}
console.log(newValue);
console.log(yellow);
});
콘솔 출력 구조 :
그래서 내 질문은, 어떻게 콘솔에 할 수 있습니까 출력 내 데이터 var "노랑"(사진의 맨 아래 부분)과 같이?
newValue.push 주위에 []을 감싸려고했지만 원하는 효과를 반환하지 않았습니다.
나는 이것이 가능하기를 바래, 어떤 조언을 많이 주시면 감사하겠습니다! 여기
모두가 설정 plnk입니다 - 은https://plnkr.co/edit/EBcxa39sal0PAOJxSYKb?p=preview
(아 - 그리고 난 정말이 질문에 대한 적절한 제목이 될, 편집에 오신 것을 환영 주시기 바랍니다해야하는지 확실하지 않았다/새로운 제안 하나는 문제를보다 정확하게 설명합니다.) 나는 지점이 표시되지 않지만
하지 않음 최종 결과로, values' 무엇 원래 속성 '조직, 날짜의 관계를 매우 명확'로 대표되는 노란색. 실제 예상 결과의 예를 보여주세요. – charlietfl
@charlietfl 나는 대답 할 방법이 확실치 않습니다. 둘 사이에 의도 된 관계가 없습니다. 그것은 단지 내 데이터를 필터링하는 데 사용하는 메서드입니다. 노란색과 같은 방식으로 결과를 출력하는 방법을 알아 내려고합니다. 플러그인에서 허용하는 구조가 그대로입니다. 기본적으로, 나는 그 도움이된다면 바로 가기를하려고 노력하고있다 .. – since095
가치와 라벨을 어떻게 매칭하는지 알지 못해서 우리는 무엇을해야하는지 알지 못한다. 즉 * "예상 된 결과"* – charlietfl