TypeScript에서 배열이 비어 있는지 확인하는 방법
6176 단어 arraytypescriptemptyjavascript
API에서 응답을 받았다고 가정해 보겠습니다(이 예에서는 Kontent API).
const blogPosts: BlogPost[] = (await deliveryClient
.items<BlogPost>()
.type("blog_post")
.toPromise())?.data?.items
응답은
BlogPost
개체의 배열이 될 것으로 예상합니다. 또한 응답을 풀고 필요한 데이터만 선택할 수 있는 ?.
표기법에 유의하십시오. 응답에 예상 형식이 없으면 null
오류 대신 undefined
가 표시됩니다.따라서 먼저 응답이 정의된 배열인지 확인해야 합니다.
if (!Array.isArray(blogPosts)) {
throw new Error("Response has a wrong format")
}
Array.isArray
함수는 가능한 모든 값을 포착합니다.// all these calls return false
Array.isArray(undefined)
Array.isArray(null)
Array.isArray({})
// DON'T DO THIS
// as there is no need for checking the variable separately
if (blogPosts && Array.isArray(blogPosts)) { }
// DO THIS
// Array.isArray() is doing the null and
// undefined check automatically
if (Array.isArray(blogPosts)){ }
참고: 자세한 내용은 MDN Web Docs을 확인하십시오.
그런 다음
.length
속성을 통해 배열에 항목이 포함되어 있는지 확인합니다.if (blogPosts.length == 0) {
throw new Error("Response contains no items")
}
그리고 그게 다야. 💪
전체 코드는 다음과 같습니다.
const blogPosts: BlogPost[] = (await deliveryClient
.items<BlogPost>()
.type("blog_post")
.toPromise())?.data?.items
if (!Array.isArray(blogPosts) || blogPosts.length == 0){
throw new Error("No data")
}
// all good here
console.log(blogPosts)
try/catch
블록에 코드를 래핑하여 네트워크 통신 오류도 포착할 수 있습니다.Kontent 데이터를 처리하는 데 도움이 필요한 경우 join our Discord ! 😎
Reference
이 문제에 관하여(TypeScript에서 배열이 비어 있는지 확인하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kontent_ai/how-to-check-if-array-is-empty-in-typescript-573k텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)