배열 인쇄()

How troublesome every time console.log to each array chain method result for debugging?



다음 코드를 보자

const fruits = [🍌, 🍎, 🍎, 🍍, 🍌, 🥝, 🥝, 🥝]
const result = fruits
                     .filter(emoji => [🥝, 🍌].includes(emoji))
                     .map(emoji => emoji === 🍌 ? 🍋 : emoji)

console.log(result) // [🍋, 🍋, 🥝, 🥝, 🥝]

코드에 문제가 있는 것은 아닙니다. 결과가 예상한 것과 다를 때 종종 각 체인 메서드 결과를 역추적하여 출력하여 어떤 부분이 잘못되었는지 알아내야 합니다.

당신은 아마도 디버그 중에 이것을 할 것입니다

const fruits = [🍌, 🍎, 🍎, 🍍, 🍌, 🥝, 🥝, 🥝]
const getKiwiNBanana = fruits.filter(emoji => [🥝, 🍌].includes(emoji))                    
console.log(getKiwiNBanana) // [🍌, 🍌, 🥝, 🥝, 🥝]
const result = getKiwiNBanana.map(emoji => emoji === 🍌 ? 🍋 : emoji)
console.log(result) // [🍋, 🍋, 🥝, 🥝, 🥝]

알겠습니다~ 그렇게 하셨지만 더 많은 코드를 작성하셨고 그것은 그렇게 우아하지 않습니다.

배열.인쇄()






앱 루트 및 전역 수준에 이 코드를 추가하세요. Array의 이 작은 확장 기능을 사용하면 결과를 쉽고 우아하게 인쇄할 수 있습니다. eslint 오류no-extend-native에 대해 조심스러울 수 있지만 기존의 내장 메소드를 확장하지 않고 확장하지 않는 경우 너무 걱정하지 마세요!



타자기



Typescript를 지원하려면 루트 수준에 다음 코드를 추가하세요.




declare global {
  interface Array<T> {
    print(): T[]
  }
}


이제 각 연쇄법 결과를 쉽게 인쇄할 수 있습니다.




const fruits = [🍌, 🍎, 🍎, 🍍, 🍌, 🥝, 🥝, 🥝]
const result = fruits
                     .filter(emoji => [🥝, 🍌].includes(emoji))
                     .print() // [🍌, 🍌, 🥝, 🥝, 🥝]
                     .map(emoji => emoji === 🍌 ? 🍋 : emoji)
                     .print() // [🍋, 🍋, 🥝, 🥝, 🥝]


깨끗하고 깔끔해 보입니다!



쉽게 검색하고 디버그할 수 있도록 접두사 문자열과 같이 인쇄 기능에서 할 수 있는 많은 일이 있습니다. 또는 생산 모드에서 인쇄를 비활성화하고 싶을 수도 있습니다. 나는 당신이 이것을 처리하도록 맡길 것입니다.



도움이 된다면 ❤️하세요! 즐거운 시간 되시기 바랍니다.

좋은 웹페이지 즐겨찾기