내 질문의 주요 목적을 설명하겠습니다.
이 특정 데이터 구조로 변수를 작성해야합니다.
날짜, 값 (줄 바꿈)
2019-05-14 12:00:00,7.8
2019-05-15 00:00:00,14.5
2019-05-17 05:00:00,1
2019-05-19 20:00:00,2.3
2019-05-28 08:00:00,33.4
2019-05-28 10:00:00,18.8
2019-05-28 12:00:00,11.5
이것의 목적은 차트를 만들기위한 데이터 입력으로이 정확한 구조를 가진이 변수를 HighCharts에 전달하는 것입니다.
이 데이터를 검색하고 생성하기 위해 "datos" 라는 중첩 된 JSON 배열 (해당 값이있는 배열 포함) 을 읽는 foor 루프를 만들었습니다 .
코드 아래에서 "fecha" (날짜) 및 " valor " (값) 변수 의 값을 볼 수 있습니다 .
for (var i = 0; i < datos.length; i++) {
var v = findPropPath(datos[i], 'v' );
var object = datos[i],
path = v,
getValue = (o, p) => p.split('.').reduce((r, k) => r[k], o);
var fecha = datos[i].data.time.s; // fecha = "2019-05-14 12:00:00"
var valor = getValue(object, path); // valor = "3.2"
var comma = ",";
var enter = "\n\r";
var datosF = fecha.concat(comma, valor, enter);
console.log(datosF);
};
보시다시피 datosF 라는 새 변수에 모든 것을 연결하려고했습니다 .
지금은 위의 출력 예제에서 볼 수 있듯이 각 줄을 내부에 모든 줄을 포함 할 새 변수로 연결하는 방법을 모르기 때문에이 시점에 갇혀 있습니다.
현재 console.log (datosF) 는 다음을 제공합니다.
솔루션에 대한 내 접근 방식이 유효한지 확실하지 않지만 아직 멍청한 사람이며 적절한 솔루션을 아직 찾을 수 없습니다.
누군가가 나를 도울 수 있기를 바랍니다.
이것을 작성하는 많은 방법. 최소한의 수정으로
var datosF = ''
for (var i = 0; i < datos.length; i++) {
var v = findPropPath(datos[i], 'v' );
var object = datos[i],
path = v,
getValue = (o, p) => p.split('.').reduce((r, k) => r[k], o);
var fecha = datos[i].data.time.s; // fecha = "2019-05-14 12:00:00"
var valor = getValue(object, path); // valor = "3.2"
var comma = ",";
var enter = "\n\r";
datosF = datosF.concat(fetcha, comma, valor, enter);
};
console.log(datosF);
각 반복의 결과를 외부 범위의 변수에 저장해야합니다.
그래도 여기에는 몇 가지 나쁜 관행이 있습니다. 루프의 각 반복에서 함수를 만드는 것과 같은 것입니다. 원본 데이터를 게시하면 가장 간결한 솔루션이 생성됩니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다