그래서 이번에는 JavaScript를 배우면서 접했고 codewars에서 발견한 간단하면서도 꽤 흥미로운 함수에 대해 공유하고 싶습니다. 함수 이름은 LongWord입니다. 이름에서 알 수 있듯이 이 함수는 문자열에서 가장 긴 단어를 검색하여 반환합니다.
이 기능이 왜 작동하는지, 어떤 방식을 사용하는지, 그 이유를 설명하겠습니다. 자, 바로 자세한 설명 들어갑니다!
이 함수의 작업은 간단합니다. 여러 단어(공백으로 구분)가 포함된 문자열 형식의 입력을 받은 다음 가장 긴 단어를 반환합니다. 길이가 같은 단어가 두 개 이상인 경우 이 함수는 마지막으로 찾은 단어를 사용합니다.
예는 다음과 같습니다.
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 }
먼저 입력된 문자열을 Split(' ') 메소드를 사용하여 단어 배열로 분할합니다. 따라서 문자열의 공백은 단어 사이의 구분 기호와 같습니다.
예:
"Aku sedang belajar".split(' '); // Output: ["Aku", "sedang", "belajar"]
배열처럼 문자열을 직접 조작할 수 없기 때문에 이는 중요합니다. 분할을 사용하면 각 단어가 관리하기 매우 쉬운 배열 요소가 됩니다.
배열이 된 후 정렬 방법을 사용하여 가장 짧은 단어에서 가장 긴 단어로 정렬합니다.
일종의 콜백 (a, b) => a.길이 - b.길이. 본질적으로 저는 JavaScript에게 배열 요소를 길이별로 정렬하도록 요청하고 있습니다.
결과는?
["Aku", "sedang", "belajar"].sort((a, b) => a.length - b.length); // Output: ["Aku", "sedang", "belajar"]
배열은 정렬되어 있으므로 가장 긴 단어가 배열의 끝에 와야 합니다. 따라서 Slice(-1) 함수는 마지막 요소를 취하는 것입니다.
예는 다음과 같습니다.
["Aku", "sedang", "belajar"].slice(-1); // Output: ["belajar"]
slice(-1)의 결과는 요소가 하나만 포함되어 있어도 실제로 여전히 배열 형식입니다. 요청된 출력과 일치하도록 toString()을 사용하여 다시 문자열로 변환합니다.
최종 결과:
longestWord("Aku sedang belajar JavaScript yang menyenangkan"); // Output: "menyenangkan"
나에게 긴 단어 함수는 특히 문자열과 배열 작업 시 JavaScript의 몇 가지 중요한 메서드를 기억하는 좋은 연습과 같습니다. 이 함수를 통해 분할, 정렬, 슬라이스 및 toString의 작동 방식에 대해서도 더 많이 이해하게 되었습니다.
이 문제를 해결하기 위한 다른 아이디어가 있거나 추가 최적화를 원한다면 댓글란에서 함께 토론해 보세요! ?
위 내용은 기술적인 설명을 통해 JavaScript에서 LongestWord 함수를 만드는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!