JavaScript: Falsy(False) 및 Truthy(True) 값 설명(예제 포함)

Bonjour, 경력 초기에 오랫동안 두 값 비교가 같으면 어떤 진술이 참이고 어떤 조건이 충족되지 않으면 거짓이라고 생각했습니다. 위의 진술은 잘못된 것이 아니라 불완전합니다. 참(참) 값과 거짓(거짓) 값의 모든 가능성을 이해하지 못하면 이 개념으로 달성할 수 있는 모든 가능한 솔루션/결과를 이해할 수 없습니다. 저는 최근 "Hackerrank"가 게시한 문제/챌린지를 발견했습니다. 여기에서 참 및 거짓 진술의 개념을 설명할 것입니다.

따라서 문제는 더미에서 사용할 수 있는 모든 양말을 세는 것입니다. 더미에는 사용 가능한 양말이 없는 단일 양말이 포함될 수도 있습니다.



입력 형식
  • 첫 번째 줄에는 양말의 수를 나타내는 정수가 포함됩니다.
  • 두 번째 줄에는 더미에 있는 양말의 색상인 공백으로 구분된 정수가 포함됩니다.

  • 이것은 여러 접근 방식으로 해결할 수 있지만 여기에서 여러분과 공유하려는 내용을 설명하기 위해 for 루프를 사용하겠습니다.

    function sockCount(n, ar) {
        let temp = {}
        let count = 0
        for (var i = 0; i < n; i++) {
            temp[ar[i]] = !temp[ar[i]]
            if (!temp[ar[i]]) count++
        }
        return count
    }
    
    


    그리고 다음과 같이 값을 전달합니다.

    const n = 9;
    const ar = [10, 20, 20, 10, 10, 30, 50, 10, 20]
    sockCount(n, ar)
    


    따라서 false, 0, -0, 0n, "", null, undefined 및 NaN을 제외한 모든 값이 true입니다.

    시작 시 temp는 빈 개체에 의해 초기화됩니다. 값이 없습니다. 이것은 우리가 이 객체에서 무엇이든 확인하면 정의되지 않은 속성으로 인해 false를 반환한다는 것을 의미합니다. 따라서 모든 것을 염두에 두고 temp[ar[i]]가 존재하는지 확인합니다.

    Case (No) 개체 temp는 ar[i]에 저장된 값을 포함하지 않습니다. 따라서 이 경우 storage[ar[i]]의 값을 정의되지 않은 현재 값의 반대 값으로 설정하려고 합니다. undefined는 거짓이므로 그 반대입니다. 따라서 storage[ar[i]]를 true로 설정합니다. 따라서 배열이 temp = { 1: true, 2: false}이고 temp[3]를 확인하면 정의되지 않으므로 temp를 { 1: true, 2: false, 3: true}로 업데이트합니다.

    사례(예) 양말 색상이 이미 임시 배열에 있는 경우 해당 값을 true에서 false로 반전합니다.

    사례(거짓 검사) 현재 반복에서 거짓이 발생하면 카운트를 1씩 늘립니다.

    이 기사를 읽은 후 허위 및 참 가치에 대한 더 명확한 설명을 얻으시기 바랍니다. 하시면 이 게시물에 좋아요를 눌러주세요.
    하지만 사랑했다면? 남자 당신은 나와 연결해야 😉

    좋은 웹페이지 즐겨찾기