CFSDN nhấn mạnh vào giá trị tạo ra nguồn mở và chúng tôi cam kết xây dựng nền tảng chia sẻ tài nguyên để mọi nhân viên CNTT có thể tìm thấy thế giới tuyệt vời của bạn tại đây.
Bài viết blog CFSDN này về ba phương pháp tìm từ dài nhất trong chuỗi trong JavaScript (được khuyến nghị) được tác giả sưu tầm và biên soạn. Nếu bạn quan tâm đến bài viết này, hãy nhớ thích nó.
Bài viết này dựa trên tập lệnh thuật toán cơ bản của Free Code Camp "Tìm từ dài nhất trong chuỗi".
Trong thuật toán này, chúng tôi muốn xem xét từng từ và đếm xem mỗi từ có bao nhiêu chữ cái. Sau đó, số đếm được so sánh để xác định từ nào có nhiều ký tự nhất và độ dài của từ dài nhất được trả về.
Trong bài viết này, tôi sẽ giải thích ba phương pháp. Lần đầu tiên sử dụng vòng lặp FOR, lần thứ hai sử dụng phương thức Sort() và lần thứ ba sử dụng phương thức less().
Thử thách thuật toán.
- Trả về độ dài của từ dài nhất trong câu được cung cấp.
- Câu trả lời của bạn phải là một con số.
Các trường hợp thử nghiệm được cung cấp.
- findLongestWord("Con cáo nâu nhanh nhẹn nhảy qua con chó lười") trả về một số
- findLongestWord(“Con cáo nâu nhanh nhẹn nhảy qua con chó lười biếng”)返回6
- findLongestWord(“Mong lực sẽ đến với bạn”)Câu 5
- findLongestWord("Google thực hiện cuộn thùng") trả về 6
- findLongestWord(“Vận tốc trung bình của một con én không tải là bao nhiêu”)Trả lời8
- findLongestWord(“Sẽ thế nào nếu chúng ta thử một từ siêu dài như otorhinolaryngology”)Trả lời19
?
1
2
3
4
|
chức năng
tìm từ dài nhất(chuỗi) {
trở lại
str. độ dài;
}
tìm từ dài nhất(
"Con cáo nâu nhanh nhẹn nhảy qua con chó lười biếng"
);
|
1. Sử dụng vòng lặp FOR để tìm từ dài nhất.
Đối với giải pháp này, chúng tôi sẽ sử dụng phương thức String.prototype.split().
- Phương thức Split() chia một đối tượng chuỗi thành một mảng chuỗi bằng cách chia chuỗi thành các chuỗi con.
Chúng ta sẽ cần thêm khoảng trắng giữa các dấu ngoặc của phương thức Split().
?
1
|
của chúng tôi
strSplit = “Con cáo nâu nhanh nhẹn nhảy qua con chó lười”.split(' ');
|
Nó sẽ xuất ra một loạt các từ:
?
1
|
của chúng tôi
strSplit = [“The”, “quick”, “brown”, “fox”, “jumped”, “over”, “the”, “lazy”, “dog”];
|
Nếu bạn không thêm khoảng trắng trong ngoặc, bạn sẽ nhận được kết quả sau:
?
1
2
|
của chúng tôi
strChia =
[“T”, “h”, “e”, “ “, “q”, “u”, “i”, “c”, “k”, “ “, “b”, “r”, “o”, “w”, “n”, “ “, “f”, “o”, “x”, “ “, “j”, “u”, “m”, “p”, “e”, “d”, “ “, “o”, “v”, “e”, “r”, “ “, “t”, “h”, “e”, “ “, “l”, “a”, “z”, “y”, “ “, “d”, “o”, “g”];
|
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
chức năng
tìm từ dài nhất(chuỗi) {
của chúng tôi
strSplit = str.split(
''
);
của chúng tôi
longestWord = 0;
vì
(
của chúng tôi
i = 0; i < strSplit.length; i++){
nếu như
(strSplit[i].length > từ dài nhất){
longestWord = strSplit[i].length;
}
}
trở lại
từ dài nhất;
}
tìm từ dài nhất(
"Con cáo nâu nhanh nhẹn nhảy qua con chó lười biếng"
);
|
Không có bình luận:
?
1
2
3
4
5
6
7
8
9
10
11
|
chức năng
tìm từ dài nhất(chuỗi) {
của chúng tôi
strSplit = str.split(
''
);
của chúng tôi
longestWord = 0;
vì
(
của chúng tôi
i = 0; i < strSplit.length; i++){
nếu như
(strSplit[i].length > từ dài nhất){
longestWord = strSplit[i].length;
}
}
trở lại
từ dài nhất;
}
tìm từ dài nhất(
"Con cáo nâu nhanh nhẹn nhảy qua con chó lười biếng"
);
|
2. Sử dụng phương thức Sort() để tìm từ dài nhất.
Đối với giải pháp này, chúng ta sẽ sử dụng phương thức Array.prototype.sort() để sắp xếp mảng theo một số tiêu chí sắp xếp và sau đó trả về độ dài của phần tử đầu tiên của mảng này.
- Phương thức Sort() sắp xếp mảng bằng cách thay thế các phần tử và trả về mảng.
Trong trường hợp của chúng tôi, nếu chúng tôi chỉ sắp xếp mảng.
?
1
|
của chúng tôi
sortArray = [“The”, “quick”, “brown”, “fox”, “jumped”, “over”, “the”, “lazy”, “dog”].sort();
|
Chúng ta sẽ nhận được kết quả đầu ra sau:
?
1
|
của chúng tôi
sortArray = [“The”, “brown”, “dog”, “fox”, “jumped”, “lazy”, “over”, “quick”, “the”];
|
Trong Unicode, số đứng trước chữ hoa và trước chữ thường.
Chúng ta cần sắp xếp các phần tử theo một số tiêu chí sắp xếp.
?
1
|
[].loại(
chức năng
(phần tử đầu tiên, phần tử thứ hai) {
trở lại
secondElement.length — firstElement.length; })
|
So sánh độ dài của phần tử thứ hai với độ dài của phần tử đầu tiên trong mảng.
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
chức năng
tìm từ dài nhất(chuỗi) {
của chúng tôi
strSplit = str.split(
''
);
của chúng tôi
longestWord = strSplit.sort(
chức năng
(a, b) {
trở lại
b.chiều dài - a.chiều dài;
});
trở lại
longestWord[0].length;
}
tìm từ dài nhất(
"Con cáo nâu nhanh nhẹn nhảy qua con chó lười biếng"
);
|
Không có bình luận:
?
1
2
3
4
5
|
chức năng
tìm từ dài nhất(chuỗi) {
của chúng tôi
longestWord = str.split(
''
).loại(
chức năng
(a, b) {
trở lại
b.chiều dài - a.chiều dài; });
trở lại
longestWord[0].length;
}
tìm từ dài nhất(
"Con cáo nâu nhanh nhẹn nhảy qua con chó lười biếng"
);
|
3. Sử dụng phương thức less() để tìm từ dài nhất.
Đối với giải pháp này, chúng tôi sẽ sử dụng Array.prototype.reduce().
- Phương thức less() được áp dụng cho hàm chứa và mỗi giá trị của mảng (từ trái sang phải) để giảm nó xuống một giá trị.
less() thực thi hàm gọi lại một lần cho mỗi phần tử có trong mảng.
Bạn có thể cung cấp giá trị ban đầu làm tham số thứ hai cần giảm, ở đây chúng tôi sẽ thêm một chuỗi trống "".
?
1
|
[].giảm bớt(
chức năng
(giá trị trước, giá trị hiện tại) {...}, “”);
|
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
chức năng
tìm từ dài nhất(chuỗi) {
của chúng tôi
strSplit = str.split(
''
);
của chúng tôi
longestWord = strSplit.reduce(
chức năng
(dài nhất, từ hiện tại) {
nếu như
(currentWord.length > longest.length)
trở lại
từ hiện tại;
khác
trở lại
dài nhất;
},
""
);
trở lại
độ dài từ dài nhất;
}
tìm từ dài nhất(
"Con cáo nâu nhanh nhẹn nhảy qua con chó lười biếng"
);
|
Không có bình luận:
?
1
2
3
4
5
6
7
|
chức năng
tìm từ dài nhất(chuỗi) {
của chúng tôi
longestWord = str.split(
''
).giảm bớt(
chức năng
(dài nhất, từ hiện tại) {
trở lại
currentWord.length > longest.length ? currentWord : dài nhất;
},
""
);
trở lại
độ dài từ dài nhất;
}
tìm từ dài nhất(
"Con cáo nâu nhanh nhẹn nhảy qua con chó lười biếng"
);
|
Điều này kết thúc bài viết này về ba phương pháp tìm từ dài nhất trong chuỗi trong JavaScript. Để biết thêm thông tin về cách tìm từ dài nhất trong chuỗi bằng js, vui lòng tìm kiếm các bài viết trước của tôi hoặc tiếp tục duyệt các chủ đề liên quan bên dưới. mọi người sẽ ủng hộ tôi trong thời gian tới! .
Liên kết gốc: https://blog.csdn.net/qq_25879801/article/details/111408976.
Cuối cùng, bài viết này về ba phương pháp (được khuyến nghị) để tìm từ dài nhất trong chuỗi trong JavaScript kết thúc ở đây. Nếu bạn muốn biết thêm về ba phương pháp tìm từ dài nhất trong chuỗi trong JavaScript. vui lòng tìm kiếm các bài viết của CFSDN hoặc tiếp tục duyệt các bài viết liên quan. Tôi hy vọng bạn sẽ ủng hộ blog của tôi trong tương lai! .
Tôi là một lập trình viên xuất sắc, rất giỏi!