>웹 프론트엔드 >JS 튜토리얼 >기술적인 설명을 통해 JavaScript에서 LongestWord 함수를 만드는 방법

기술적인 설명을 통해 JavaScript에서 LongestWord 함수를 만드는 방법

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-18 14:21:11188검색

Cara Membuat Fungsi longestWord di JavaScript dengan Penjelasan Teknis

LongWord를 사용하여 JavaScript에서 가장 긴 단어 찾기

그래서 이번에는 JavaScript를 배우면서 접했고 codewars에서 발견한 간단하면서도 꽤 흥미로운 함수에 대해 공유하고 싶습니다. 함수 이름은 LongWord입니다. 이름에서 알 수 있듯이 이 함수는 문자열에서 가장 긴 단어를 검색하여 반환합니다.

이 기능이 왜 작동하는지, 어떤 방식을 사용하는지, 그 이유를 설명하겠습니다. 자, 바로 자세한 설명 들어갑니다!


가장 긴 Word 기능의 목적

이 함수의 작업은 간단합니다. 여러 단어(공백으로 구분)가 포함된 문자열 형식의 입력을 받은 다음 가장 긴 단어를 반환합니다. 길이가 같은 단어가 두 개 이상인 경우 이 함수는 마지막으로 찾은 단어를 사용합니다.

예는 다음과 같습니다.

longestWord("Aku sedang belajar JavaScript yang menyenangkan");
// Output: "menyenangkan"
longestWord("red blue gold");
// Output: "gold"

함수 코드

코드는 매우 짧지만 멋진 점은 그 뒤에 많은 일이 벌어지고 있다는 것입니다.

function longestWord(stringOfWords) {
  return stringOfWords
    .split(' ') // Pecah string jadi array kata-kata
    .sort((a, b) => a.length - b.length) // Urutkan berdasarkan panjang
    .slice(-1) // Ambil elemen terakhir (kata terpanjang)
    .toString(); // Ubah jadi string lagi
}

기술적 설명

1. 문자열을 단어 배열로 분할: .split(' ')

먼저 입력된 문자열을 Split(' ') 메소드를 사용하여 단어 배열로 분할합니다. 따라서 문자열의 공백은 단어 사이의 구분 기호와 같습니다.

예:

"Aku sedang belajar".split(' ');
// Output: ["Aku", "sedang", "belajar"]

배열처럼 문자열을 직접 조작할 수 없기 때문에 이는 중요합니다. 분할을 사용하면 각 단어가 관리하기 매우 쉬운 배열 요소가 됩니다.


2. 길이별로 단어 정렬: .sort((a, b) => a.length - b.length)

배열이 된 후 정렬 방법을 사용하여 가장 짧은 단어에서 가장 긴 단어로 정렬합니다.

일종의 콜백 (a, b) => a.길이 - b.길이. 본질적으로 저는 JavaScript에게 배열 요소를 길이별로 정렬하도록 요청하고 있습니다.

결과는?

["Aku", "sedang", "belajar"].sort((a, b) => a.length - b.length);
// Output: ["Aku", "sedang", "belajar"]

3. 가장 긴 단어 선택: .slice(-1)

배열은 정렬되어 있으므로 가장 긴 단어가 배열의 끝에 와야 합니다. 따라서 Slice(-1) 함수는 마지막 요소를 취하는 것입니다.

예는 다음과 같습니다.

["Aku", "sedang", "belajar"].slice(-1);
// Output: ["belajar"]

4. 다시 문자열로 변경합니다: .toString()

slice(-1)의 결과는 요소가 하나만 포함되어 있어도 실제로 여전히 배열 형식입니다. 요청된 출력과 일치하도록 toString()을 사용하여 다시 문자열로 변환합니다.

최종 결과:

longestWord("Aku sedang belajar JavaScript yang menyenangkan");
// Output: "menyenangkan"

이러한 방법을 사용하는 이유는 무엇입니까?

  1. split(' '): 문자열은 불변(직접 변경할 수 없음)이므로 처리하기 쉽도록 먼저 배열로 분할했습니다.
  2. sort(): 가장 크거나 긴 요소를 찾는 가장 빠른 방법은 데이터를 먼저 정렬하는 것입니다.
  3. slice(-1): 이는 배열의 마지막 요소를 즉시 가져오는 간단한 트릭입니다.
  4. toString(): 최종 출력은 문자열이어야 하므로 이것이 마지막 단계입니다.

나에게 긴 단어 함수는 특히 문자열과 배열 작업 시 JavaScript의 몇 가지 중요한 메서드를 기억하는 좋은 연습과 같습니다. 이 함수를 통해 분할, 정렬, 슬라이스 및 toString의 작동 방식에 대해서도 더 많이 이해하게 되었습니다.

이 문제를 해결하기 위한 다른 아이디어가 있거나 추가 최적화를 원한다면 댓글란에서 함께 토론해 보세요! ?

위 내용은 기술적인 설명을 통해 JavaScript에서 LongestWord 함수를 만드는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.