안녕하세요, 저는 전화를 걸고있는 API와 함께 부분 ISO 타임 스탬프를 작성하도록 설계된 함수를 가지고 있습니다. 타임 스탬프가 반환해야합니다 :이 자바 스크립트 타임 스탬프 빌더 함수의 복잡성/중첩 된 ifs를 줄이는 방법
2017Z
2017-12Z
2017-12-24Z
2017-12-24T14Z
2017-12-24T14:07Z
나는 다음과 같이이 수행하는 데 사용하는 코드 :
function parsePartialDateTime(datetime = {}) {
if (datetime === null || datetime.year === undefined) {
return null;
}
let dateString = `${datetime.year}`;
if (datetime.month) {
dateString += `-${datetime.month}`;
if (datetime.day) {
dateString += `-${datetime.day}`;
if (datetime.hour) {
dateString += `T${datetime.hour}`;
if (datetime.minute) {
dateString += `:${datetime.minute}`;
if (datetime.second) {
dateString += `:${datetime.second}`;
}
}
}
}
}
return `${dateString}Z`;
}
을 정말 내가로서 기능하는 경우 중첩에 대한 필요성을 제거 할 수있는 방법을 모르겠어요를 이전 항목이있는 경우에만 타임 스탬프의 각 요소를 작성해야합니다 (datetime 객체에서 문자열/숫자로 제공됩니다.
이에 어떤 도움을 주시면 감사하겠습니다 :)
이
왜 이들을 처음에 중첩해야합니까? – charlietfl
코드가 작동하는 경우 [codereview.se]에서이 질문을하는 것이 더 좋을 수 있지만 [meta.codereview.se] ... –