sách gpt4 ăn đã đi

Ba cách để tìm từ dài nhất trong chuỗi trong JavaScript (được khuyến nghị)

In lại Tác giả: qq735679552 Thời gian cập nhật: 27-09-2022 22:32:09 34 4
mua khóa gpt4 giày nike

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) {
  // Bước 1. Chia chuỗi thành một mảng các chuỗi
  của chúng tôi strSplit = str.split( '' );
  // var strSplit = "Con cáo nâu nhanh nhẹn nhảy qua con chó lười".split(' ');
  // var strSplit = ["The", "quick", "brown", "fox", "jumped", "over", "the", "lazy", "dog"];
 
  // Bước 2. Khởi tạo một biến sẽ lưu trữ độ dài của từ dài nhất
  của chúng tôi longestWord = 0;
 
  // Bước 3. Tạo vòng lặp FOR
  ( của chúng tôi i = 0; i < strSplit.length; i++){
  nếu như (strSplit[i].length > từ dài nhất){ // Nếu strSplit[i].length lớn hơn từ thì nó sẽ được so sánh với...
  longestWord = strSplit[i].length; // ...sau đó longestWord lấy giá trị mới này
   }
  }
  /* Ở đây strSplit.length = 9
   Đối với mỗi lần lặp lại: i = ? i < strSplit.length? i++ if(strSplit[i].length > longestWord)? longestWord = strSplit[i].length
   Lần lặp đầu tiên: 0 có 1 nếu("The".length > 0)? => nếu(3 > 0)? longestWord = 3
   Lần lặp thứ 2: 1 có 2 nếu("nhanh".length > 3)? => nếu(5 > 3)? longestWord = 5
   Lần lặp thứ 3: 2 có 3 nếu("brown".length > 5)? => nếu(5 > 5)? longestWord = 5
   Lần lặp thứ 4: 3 có 4 nếu("fox".length > 5)? => nếu(3 > 5)? longestWord = 5
   Lần lặp thứ 5: 4 có 5 nếu("nhảy".length > 5)? => nếu(6 > 5)? longestWord = 6
   Lần lặp thứ 6: 5 có 6 nếu("over".length > 6)? => nếu(4 > 6)? longestWord = 6
   Lần lặp thứ 7: 6 có 7 nếu("the".length > 6)? => nếu(3 > 6)? longestWord = 6
   Lần lặp thứ 8: 7 có 8 nếu("lazy".length > 6)? => nếu(4 > 6)? longestWord = 6
   Lần lặp thứ 9: 8 có 9 nếu("chó".chiều dài > 6)? => nếu(3 > 6)? longestWord = 6
   Lần lặp thứ 10: 9 không   
   Kết thúc vòng lặp FOR*/
 
  //Bước 4. Trả về từ dài nhất
  trở lại từ dài nhất; // 6
}
 
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;
  ( 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) {
  // Bước 1. Chia chuỗi thành một mảng các chuỗi
  của chúng tôi strSplit = str.split( '' );
  // var strSplit = "Con cáo nâu nhanh nhẹn nhảy qua con chó lười".split(' ');
  // var strSplit = ["The", "quick", "brown", "fox", "jumped", "over", "the", "lazy", "dog"];
 
  // Bước 2. Sắp xếp các phần tử trong mảng
  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;
  });
  /* Quá trình sắp xếp
  a b b.length a.length var longestWord
  "Nhanh" 5 3 ["nhanh", "Nhanh"]
  "nhanh" "nâu" 5 5 ["nhanh", "nâu", "The"]
  "nâu" "cáo" 3 5 ["nhanh", "nâu", "The", "cáo"]
  "cáo" "nhảy" 6 3 ["nhảy", nhanh", "nâu", "The", "cáo"]
  "nhảy" "qua" 4 6 ["nhảy", nhanh", "nâu", "qua", "The", "fox"]
  "qua" "the" 3 4 ["nhảy", nhanh", "nâu", "qua", "The", "fox", "the"]
  "the" "lazy" 4 3 ["nhảy", nhanh", "nâu", "qua", "lazy", "The", "fox", "the"]
  "lười biếng" "con chó" 3 4 ["nhảy", nhanh", "nâu", "qua", "lười biếng", "con", "con cáo", "con chó"]
  */
 
  // Bước 3. Trả về độ dài của phần tử đầu tiên của mảng
  trở lại longestWord[0].length; // var longestWord = ["nhảy", "nhanh", "nâu", "qua", "lười", "The", "fox", "the", "dog"];
         // longestWord[0]="nhảy" => nhảy".length => 6
}
 
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) {
  // Bước 1. Chia chuỗi thành một mảng các chuỗi
  của chúng tôi strSplit = str.split( '' );
  // var strSplit = "Con cáo nâu nhanh nhẹn nhảy qua con chó lười".split(' ');
  // var strSplit = ["The", "quick", "brown", "fox", "jumped", "over", "the", "lazy", "dog"];
 
  // Bước 2. Sử dụng phương thức reduce
  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;
  }, "" );
 
  /* Giảm quy trình
  currentWord dài nhất currentWord.length longest.length nếu(currentWord.length > longest.length)? var longestWord
  "The" "" 3 0 có "The"
  "nhanh" "The" 5 3 vâng "nhanh"
  "nâu" "nhanh" 5 5 không "nhanh"
  "cáo" "nhanh" 3 5 không "nhanh"
  "nhảy" "nhanh" 6 5 có "nhảy"
  "qua" "nhảy" 4 6 không "nhảy"
  "the" "jumped" 3 6 không "jumped"
  "lười biếng" "nhảy" 4 6 không "nhảy"
  "chó" "nhảy" 3 6 không "nhảy"
  */
 
  // Bước 3. Trả về độ dài của longestWord
  trở lại độ dài từ dài nhất; // var longestWord = "đã nhảy"
         // longestWord.length => "nhảy".length => 6
}
 
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! .

34 4 0
qq735679552
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress