[OpenAPI]기상청 단기 예보 조회 서비스

chosey·2022년 11월 30일
0

학교 수업

목록 보기
1/1

39 줄이었던 처음 코드

const logic = async (res) => {
  let weatherData;
  weatherData = await res.data.response.body.items.item;

  weatherData.filter((elem, i) => {
    elem.category == "PTY" &&
      console.log(
        elem.baseTime +
          "\t" +
          elem.category +
          "\t" +
          (elem.fcstValue || elem.obsrValue) +
          ""
      );
    elem.category == "T1H" &&
      console.log(
        elem.baseTime +
          "\t" +
          elem.category +
          "\t" +
          (elem.fcstValue || elem.obsrValue) +
          "℃"
      );
    elem.category == "RN1" &&
      console.log(
        elem.baseTime +
          "\t" +
          elem.category +
          "\t" +
          (elem.fcstValue || elem.obsrValue) +
          "mm"
      );
    elem.category == "REH" &&
      console.log(
        elem.baseTime +
          "\t" +
          elem.category +
          "\t" +
          (elem.fcstValue || elem.obsrValue) +
          "%"
      );
  });
};

const logic = async (res) => {
    let weatherData;
    weatherData = await res.data.response.body.items.item;

    weatherData.filter((elem, i) => {
      currCode.includes(elem.category) &&
        console.log(
          elem.baseTime +
            "\t" +
            elem.category +
            "\t" +
            (elem.fcstValue || elem.obsrValue) +
            ""
        );
		});
}

정리

상태 코드와 각 단위를 배열과 객체로 정의

const stateCode = ["T1H", "RN1", "SKY", "REH", "PTY", "WSD"];
const unitMap = {
  T1H: "Cº",
  RN1: "mm/h",
  SKY: {
    1: "맑음",
    3: "구름많음",
    4: "흐림",
  },
  REH: "%",
  PTY: {
    0: "비 없음",
    1: "비",
    2: "비/눈",
    3: "눈",
    4: "소나기",
    5: "빗방울",
    6: "빗방울, 눈날림",
    7: "눈날림",
  },
  WSD: "m/s",
};

includes()와 삼항연산자

const curr = async (res) => {
  let weatherData;
  weatherData = await res.data.response.body.items.item;

  let unit = [];

  weatherData.filter((elem, i) => {
    if (stateCode.includes(elem.category)) {
      unit[elem.category] =
        elem.category == ("PTY" || "SKY")
          ? unitMap[elem.category][elem.obsrValue]
          : elem.obsrValue + unitMap[elem.category];
    }
  });

  console.log(unit);
  return unit;
};


2023년 11월 22일
이 때 당시 전과한지 1년 되었는데 학술제 작품 조잡하더라도 만들으라고 닦달해주신 교수님께 감사드립니다.
근데 저 정신차려보니 데이터 분석 공부하고 있어요...

profile
chosey

0개의 댓글