Trong JavaScript, chúng ta có thể sử dụng hàm setInterval[]
tích hợp để lặp lại bất kỳ hàm đã cho nào trong một khoảng thời gian nhất định
const myFunction = [] => {
console.log[`Hello world!`];
};
setInterval[myFunction, 2000]; // Repeat myFunction every 2 seconds
setInterval[]
nhận hai tham số. Tham số đầu tiên là hàm sẽ được thực thi và tham số thứ hai là số mili giây phải vượt qua trước khi hàm được thực thi lại
Trong khi đặt thời gian chờ chỉ chạy một chức năng sau một khoảng thời gian chờ nhất định, thì đặt khoảng thời gian sẽ chạy một chức năng vô thời hạn sau một khoảng thời gian chờ nhất định [trừ khi khoảng thời gian đó đã bị "xóa"]
Xóa một khoảng thời gian
Bằng cách xóa một khoảng thời gian với clearInterval[]
, bạn có thể ngăn không cho nó tiếp tục thực hiện chức năng sau mỗi lần trì hoãn
Hướng dẫn JavaScript này giải thích cách sử dụng phương thức chuỗi có tên repeat[] với cú pháp và ví dụ
Sự miêu tả
Trong JavaScript, repeat[] là một phương thức chuỗi được sử dụng để lặp lại một chuỗi một số lần đã chỉ định. Vì phương thức repeat[] là một phương thức của đối tượng String nên nó phải được gọi thông qua một thể hiện cụ thể của lớp String
cú pháp
Trong JavaScript, cú pháp của phương thức repeat[] là
string.repeat[[count]];
Tham số hoặc Đối số
đếmTùy chọn. Số lần lặp lại chuỗi. Nếu không cung cấp tham số này, phương thức repeat[] sẽ sử dụng 0 làm giá trị mặc định và trả về một chuỗi rỗngtrả lại
Phương thức repeat[] trả về một chuỗi đã được lặp lại một số lần mong muốn
Nếu tham số đếm không được cung cấp hoặc có giá trị bằng 0, thì phương thức repeat[] sẽ trả về một chuỗi rỗng. Nếu tham số đếm là giá trị âm, phương thức repeat[] sẽ trả về RangeError.
Ghi chú
- Phương thức repeat[] không làm thay đổi giá trị của chuỗi ban đầu
Thí dụ
Hãy cùng xem một ví dụ về cách sử dụng phương thức repeat[] trong JavaScript
Ví dụ
var totn_string = 'TechOnTheNet'; console.log[totn_string.repeat[0]]; console.log[totn_string.repeat[1]]; console.log[totn_string.repeat[2]];
console.log[totn_string.repeat[3]];
Trong ví dụ này, chúng tôi đã khai báo một biến có tên totn_string được gán giá trị chuỗi là 'TechOnTheNet'. Sau đó, chúng tôi đã gọi phương thức repeat[] của biến totn_string để lặp lại chuỗi một số lần được chỉ định
Chúng tôi đã ghi đầu ra của phương thức repeat[] vào nhật ký bảng điều khiển của trình duyệt web, nhằm mục đích trình diễn, để hiển thị kết quả mà phương thức repeat[] trả về
Phần sau đây sẽ được xuất ra nhật ký bảng điều khiển trình duyệt web
TechOnTheNet TechOnTheNetTechOnTheNet TechOnTheNetTechOnTheNetTechOnTheNet
Như bạn có thể thấy, phương thức repeat[] trả về một chuỗi rỗng khi tham số đếm bằng 0, nếu không, nó sẽ lặp lại chuỗi 'TechOnTheNet' với số lần đã chỉ định
Trong bài viết này, tôi sẽ giải thích cách giải quyết thử thách “Lặp lại một chuỗi lặp lại một chuỗi” của freeCodeCamp. Điều này liên quan đến việc lặp lại một chuỗi một số lần nhất định
Có ba cách tiếp cận tôi sẽ đề cập
- sử dụng vòng lặp while
- sử dụng đệ quy
- sử dụng phương thức lặp lại ES6[]
Thử thách thuật toán Mô tả
Lặp lại một chuỗi đã cho [đối số đầu tiên]1 lần [đối số thứ hai]. Trả về một chuỗi rỗng nếurepeatStringNumTimes["*", 3] should return "***". repeatStringNumTimes["abc", 3] should return "abcabcabc". repeatStringNumTimes["abc", 4] should return "abcabcabcabc". repeatStringNumTimes["abc", 1] should return "abc". repeatStringNumTimes["*", 8] should return "********". repeatStringNumTimes["abc", -2] should return "".
1 không phải là số dươngrepeatStringNumTimes["*", 3] should return "***". repeatStringNumTimes["abc", 3] should return "abcabcabc". repeatStringNumTimes["abc", 4] should return "abcabcabcabc". repeatStringNumTimes["abc", 1] should return "abc". repeatStringNumTimes["*", 8] should return "********". repeatStringNumTimes["abc", -2] should return "".
function repeatStringNumTimes[str, num] {
return str;
}
repeatStringNumTimes["abc", 3];
Các trường hợp thử nghiệm được cung cấp
repeatStringNumTimes["*", 3] should return "***".
repeatStringNumTimes["abc", 3] should return "abcabcabc".
repeatStringNumTimes["abc", 4] should return "abcabcabcabc".
repeatStringNumTimes["abc", 1] should return "abc".
repeatStringNumTimes["*", 8] should return "********".
repeatStringNumTimes["abc", -2] should return "".
Cách tiếp cận số 1. Lặp lại chuỗi với vòng lặp While
Một câu lệnh trong khi thực thi câu lệnh của nó miễn là một điều kiện được chỉ định đánh giá là đúng
Một tuyên bố trong khi trông như thế này
________số 8_______với một điều kiện được đánh giá trước mỗi lần đi qua vòng lặp. Nếu điều kiện đúng thì câu lệnh được thực hiện. Nếu điều kiện là sai, việc thực thi tiếp tục với bất kỳ câu lệnh nào sau vòng lặp while
Câu lệnh được thực hiện miễn là điều kiện là đúng. Đây là giải pháp
function repeatStringNumTimes[string, times] {
// Step 1. Create an empty string that will host the repeated string
var repeatedString = "";
// Step 2. Set the While loop with [times > 0] as the condition to check
while [times > 0] { // As long as times is greater than 0, the statement is executed
// The statement
repeatedString += string; // Same as repeatedString = repeatedString + string;
times--; // Same as times = times - 1;
}
/* While loop logic
Condition T/F repeatedString += string repeatedString times
First iteration [3 > 0] true "" + "abc" "abc" 2
Second iteration [2 > 0] true "abc" + "abc" "abcabc" 1
Third iteration [1 > 0] true "abcabc" + "abc" "abcabcabc" 0
Fourth iteration [0 > 0] false
}
*/
// Step 3. Return the repeated string
return repeatedString; // "abcabcabc"
}
repeatStringNumTimes["abc", 3];
Và một lần nữa, không có bình luận
function repeatStringNumTimes[string, times] {
var repeatedString = "";
while [times > 0] {
repeatedString += string;
times--;
}
return repeatedString;
}
repeatStringNumTimes["abc", 3];
Cách tiếp cận #2. Lặp lại Chuỗi bằng Điều kiện và Đệ quy
Đệ quy là một kỹ thuật để lặp lại một thao tác bằng cách để một hàm gọi chính nó lặp đi lặp lại cho đến khi nó đạt được kết quả. Có một số tính năng chính của đệ quy phải được đưa vào để nó hoạt động bình thường
- Đầu tiên là một trường hợp cơ bản. đây là một câu lệnh, thường nằm trong một mệnh đề có điều kiện như
3, dừng đệ quyrepeatStringNumTimes["*", 3] should return "***". repeatStringNumTimes["abc", 3] should return "abcabcabc". repeatStringNumTimes["abc", 4] should return "abcabcabcabc". repeatStringNumTimes["abc", 1] should return "abc". repeatStringNumTimes["*", 8] should return "********". repeatStringNumTimes["abc", -2] should return "".
- Thứ hai là một trường hợp đệ quy. đây là câu lệnh trong đó hàm đệ quy được gọi trên chính nó
Đây là giải pháp
function repeatStringNumTimes[string, times] {
// Step 1. Check if times is negative and return an empty string if true
if [times < 0] {
return "";
}
// Step 2. Check if times equals to 1 and return the string itself if it's the case.
if [times === 1] {
return string;
}
// Step 3. Use recursion
else {
return string + repeatStringNumTimes[string, times - 1]; // return "abcabcabc";
}
/*
First Part of the recursion method
You need to remember that you won’t have just one call, you’ll have several nested calls
times string + repeatStringNumTimes[string, times - 1]
1st call 3 "abc" + ["abc", 3 - 1]
2nd call 2 "abc" + ["abc", 2 - 1]
3rd call 1 "abc" => if [times === 1] return string;
4th call 0 "" => if [times 0] { // [3 > 0] => true
return string.repeat[times]; // return "abc".repeat[3]; => return "abcabcabc";
}
//Step 2. Else if times is negative, return an empty string if true
else {
return "";
}
}
repeatStringNumTimes["abc", 3];
Và một lần nữa, không có bình luận
function repeatStringNumTimes[string, times] {
if [times > 0]
return string.repeat[times];
else
return "";
}
repeatStringNumTimes["abc", 3];
Bạn có thể sử dụng toán tử bậc ba làm lối tắt cho câu lệnh if/else, như thế này
times > 0 ? string.repeat[times] : "";
Điều này có thể được đọc như
repeatStringNumTimes["*", 3] should return "***".
repeatStringNumTimes["abc", 3] should return "abcabcabc".
repeatStringNumTimes["abc", 4] should return "abcabcabcabc".
repeatStringNumTimes["abc", 1] should return "abc".
repeatStringNumTimes["*", 8] should return "********".
repeatStringNumTimes["abc", -2] should return "".
0Sau đó, bạn có thể trả về toán tử bậc ba trong hàm của mình
Tôi hy vọng bạn tìm thấy điều này hữu ích. Đây là một phần trong loạt bài viết “Cách giải quyết các thuật toán FCC” của tôi về các Thách thức về thuật toán freeCodeCamp, trong đó tôi đề xuất một số giải pháp và giải thích từng bước những gì xảy ra bên trong
Hai cách để xác nhận kết thúc của Chuỗi trong JavaScript
Trong bài viết này, tôi sẽ giải thích cách giải quyết thử thách “Xác nhận kết thúc” của freeCodeCamp
Ba cách để đảo ngược một chuỗi trong JavaScript
Bài viết này dựa trên Free Code Camp Basic Algorithm Scripting “Reverse a String”
Ba cách để thừa số hóa một số trong JavaScript
Bài viết này dựa trên Free Code Camp Basic Algorithm Scripting “Factorialize a Number”
Hai cách để kiểm tra Palindromes trong JavaScript
Bài viết này dựa trên Free Code Camp Basic Algorithm Scripting “Check for Palindromes”
Ba cách để tìm từ dài nhất trong chuỗi trong JavaScript
Bài viết này dựa trên Kịch bản thuật toán cơ bản của Free Code Camp “Tìm từ dài nhất trong một chuỗi”
Ba cách đặt tiêu đề cho một câu trong JavaScript
Bài viết này dựa trên Free Code Camp Basic Algorithm Scripting “Tiêu đề trường hợp một câu”
Nếu bạn có giải pháp của riêng mình hoặc bất kỳ đề xuất nào, hãy chia sẻ chúng bên dưới trong phần bình luận
Hoặc bạn có thể theo dõi tôi trên Medium, Twitter, Github và LinkedIn, ngay sau khi bạn nhấp vào trái tim màu xanh bên dưới ;-]
#StayCurious, #KeepOnHacking & #MakeItHappen
Tài nguyên bổ sung
- vòng lặp while — MDN
- phương thức lặp lại [] — MDN
- Toán tử bậc ba — MDN
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
🛡️ Làm công việc An ninh mạng. 🌟 Ngôi sao GitHub. 💻 Những người phụ nữ tuyệt vời trong không gian mạng/công nghệ. 👩🎤 Đại sứ GirlCode. 🥑 DevSecOps/Người ủng hộ bảo mật đám mây
Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn
Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu