Viết hàm JavaScript để ghép một chuỗi đã cho n lần [mặc định là 1]. Dữ liệu kiểm tra: Console.log [lặp lại ['ha!']]; Console.log [lặp lại ['ha!', 2]]; Console.log [lặp lại ['ha!', 3]]; "Ha!" "Ha! Ha!" "Ha! Ha! Ha!" Trình bày bằng hình ảnh: Giải pháp mẫu:- Mã HTML: Mã JavaScript: Đầu ra mẫu: Sơ đồ: Bản thử trực tiếp: Xem PEN JavaScript kết hợp một chuỗi cụ thể cho một số lần cụ thể-String-EX-13 bởi W3Resource [@W3Resource] trên CodePen. Cải thiện giải pháp mẫu này và đăng mã của bạn thông qua Disqus Trước đây: Viết hàm JavaScript để lưu trữ chuỗi. Write a JavaScript function to uncamelize a string.Chuỗi JavaScript: Bài tập-13 với giải pháp
console.log[repeat['Ha!']];
console.log[repeat['Ha!',2]];
console.log[repeat['Ha!',3]];
"Ha!"
"Ha!Ha!"
"Ha!Ha!Ha!"
JavaScript program to concatenates a given string n times [default is 1].
repeat = function repeat[str, count] {
if[typeof[count] == "undefined"] {
count =1;
}
return count < 1 ? '' : new Array[count + 1].join[str];
}
console.log[repeat['Ha!']];
console.log[repeat['Ha!',2]];
console.log[repeat['Ha!',3]];
Ha!
Ha!Ha!
Ha!Ha!Ha!
Next: Write a JavaScript function to insert a string within a string at a particular position [default is 1].
Mức độ khó của bài tập này là gì?
Kiểm tra kỹ năng lập trình của bạn với bài kiểm tra của W3Resource.
JavaScript: Lời khuyên trong ngày
Các lớp/hàm tạo chức năng
class Person { constructor[] { this.name = 'Owen'; } } Person = class AnotherPerson { constructor[] { this.name = 'Eddie'; } }; const member = new Person[]; console.log[member.name];
Chúng ta có thể đặt các lớp bằng với các bộ xây dựng các lớp/chức năng khác. Trong trường hợp này, chúng tôi đặt người bằng với người khác. Tên trên hàm tạo này là Eddie, vì vậy thuộc tính tên trên thành viên thể hiện người mới là "Eddie".
Tham khảo: //bit.ly/3jfrbje
- Bài tập: Top 16 chủ đề phổ biến nhất hàng tuần
- Bài tập SQL, Thực hành, Giải pháp - Tham gia
- Bài tập SQL, Thực hành, Giải pháp - Quan sát phụ
- JavaScript Basic - Bài tập, Thực hành, Giải pháp
- Java Array: Bài tập, Thực hành, Giải pháp
- C Bài tập lập trình, Thực hành, Giải pháp: Tuyên bố có điều kiện
- Cơ sở dữ liệu nhân sự - Sắp xếp bộ lọc: Bài tập, Thực hành, Giải pháp
- C Bài tập lập trình, Thực hành, Giải pháp: Chuỗi
- Các loại dữ liệu Python: Từ điển - Bài tập, Thực hành, Giải pháp
- Câu đố lập trình Python - Bài tập, Thực hành, Giải pháp
- Mảng C ++: Bài tập, Thực hành, Giải pháp
- Báo cáo và vòng lặp có điều kiện JavaScript - Bài tập, Thực hành, Giải pháp
- Thuật toán cơ bản C# Sharp: Bài tập, Thực hành, Giải pháp
- Python Lambda - Bài tập, Thực hành, Giải pháp
- Python Pandas DataFrame: Bài tập, Thực hành, Giải pháp
- Công cụ chuyển đổi
- JavaScript: HTML Mẫu xác thực
795
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
Trong Perl, tôi có thể lặp lại một ký tự nhiều lần bằng cú pháp:
$a = "a" x 10; // results in "aaaaaaaaaa"
Có một cách đơn giản để thực hiện điều này trong JavaScript? Tôi rõ ràng có thể sử dụng một chức năng, nhưng tôi đã tự hỏi liệu có bất kỳ cách tiếp cận nào được xây dựng, hoặc một số kỹ thuật thông minh khác.
Timo Tijhof
9,9456 Huy hiệu vàng33 Huy hiệu bạc47 Huy hiệu đồng6 gold badges33 silver badges47 bronze badges
Đã hỏi ngày 9 tháng 12 năm 2009 lúc 22:48Dec 9, 2009 at 22:48
Ngày nay, phương thức chuỗi
$a = "a" x 10; // results in "aaaaaaaaaa"
0 được triển khai ở hầu hết mọi nơi. [Nó không có trong Internet Explorer.] Vì vậy, trừ khi bạn cần hỗ trợ các trình duyệt cũ hơn, bạn chỉ cần viết:"a".repeat[10]
Trước
$a = "a" x 10; // results in "aaaaaaaaaa"
0, chúng tôi đã sử dụng hack này:Array[11].join["a"] // create string with 10 a's: "aaaaaaaaaa"
[Lưu ý rằng một mảng có độ dài 11 chỉ giúp bạn chỉ có 10 "A", vì
$a = "a" x 10; // results in "aaaaaaaaaa"
2 đặt đối số giữa các phần tử mảng.]Simon cũng chỉ ra rằng theo điểm chuẩn này, có vẻ như nó nhanh hơn trong Safari và Chrome [nhưng không phải Firefox] để lặp lại một ký tự nhiều lần bằng cách chỉ đơn giản là sử dụng một vòng lặp [mặc dù ít súc tích hơn một chút].
Đã trả lời ngày 9 tháng 12 năm 2009 lúc 22:49Dec 9, 2009 at 22:49
Jason Orendorffjason OrendorffJason Orendorff
40,8K4 Huy hiệu vàng61 Huy hiệu bạc96 Huy hiệu Đồng4 gold badges61 silver badges96 bronze badges
9
Trong một bản hòa âm ES6 mới, bạn sẽ có cách bản địa để làm điều này với lặp lại. Ngoài ra ES6 ngay bây giờ chỉ thử nghiệm, tính năng này đã có sẵn ở Edge, FF, Chrome và Safari
"abc".repeat[3] // "abcabcabc"
Và chắc chắn nếu không có chức năng lặp lại, bạn có thể sử dụng
$a = "a" x 10; // results in "aaaaaaaaaa"
3 cũ ____43Đã trả lời ngày 2 tháng 5 năm 2014 lúc 21:16May 2, 2014 at 21:16
Salvador Dalisalvador DaliSalvador Dali
205K142 Huy hiệu vàng687 Huy hiệu bạc746 Huy hiệu Đồng142 gold badges687 silver badges746 bronze badges
0
Thuận tiện nếu bạn lặp lại bản thân rất nhiều:
String.prototype.repeat = String.prototype.repeat || function[n]{
n= n || 1;
return Array[n+1].join[this];
}
alert[ 'Are we there yet?\nNo.\n'.repeat[10] ]
vsync
109K54 Huy hiệu vàng287 Huy hiệu bạc372 Huy hiệu đồng54 gold badges287 silver badges372 bronze badges
Đã trả lời ngày 10 tháng 12 năm 2009 lúc 2:50Dec 10, 2009 at 2:50
Kennebeckennebeckennebec
Huy hiệu vàng 100K3131 gold badges104 silver badges126 bronze badges
8
Array[10].fill['a'].join['']
Mặc dù câu trả lời được bình chọn nhiều nhất là nhỏ gọn hơn một chút, với cách tiếp cận này, bạn không phải thêm một mục mảng bổ sung.
Đã trả lời ngày 16 tháng 8 năm 2017 lúc 15:41Aug 16, 2017 at 15:41
Grzegorz Pawlikgrzegorz PawlikGrzegorz Pawlik
2.1681 Huy hiệu vàng18 Huy hiệu bạc18 Huy hiệu đồng1 gold badge18 silver badges18 bronze badges
3
Một giải pháp thay thế là:
repeat = function repeat[str, count] {
if[typeof[count] == "undefined"] {
count =1;
}
return count < 1 ? '' : new Array[count + 1].join[str];
}
console.log[repeat['Ha!']];
console.log[repeat['Ha!',2]];
console.log[repeat['Ha!',3]];
0Nếu bạn cần lặp lại nhiều ký tự, hãy nhân có điều kiện của bạn:
repeat = function repeat[str, count] {
if[typeof[count] == "undefined"] {
count =1;
}
return count < 1 ? '' : new Array[count + 1].join[str];
}
console.log[repeat['Ha!']];
console.log[repeat['Ha!',2]];
console.log[repeat['Ha!',3]];
1Lưu ý: Bạn không cần phải vượt quá 1 như với
4 You do not have to overshoot by 1 as with $a = "a" x 10; // results in "aaaaaaaaaa"
$a = "a" x 10; // results in "aaaaaaaaaa"
4
Đã trả lời ngày 21 tháng 8 năm 2014 lúc 13:55Aug 21, 2014 at 13:55
Bonbonbonbonbon
2234 Huy hiệu bạc11 Huy hiệu đồng4 silver badges11 bronze badges
Cách hiệu suất nhất của wice là //developer.mozilla.org/en-us/docs/web/javascript/reference/global_objects/string/repeat
Phiên bản ngắn dưới đây.
repeat = function repeat[str, count] {
if[typeof[count] == "undefined"] {
count =1;
}
return count < 1 ? '' : new Array[count + 1].join[str];
}
console.log[repeat['Ha!']];
console.log[repeat['Ha!',2]];
console.log[repeat['Ha!',3]];
2Polyfill từ Mozilla:
repeat = function repeat[str, count] {
if[typeof[count] == "undefined"] {
count =1;
}
return count < 1 ? '' : new Array[count + 1].join[str];
}
console.log[repeat['Ha!']];
console.log[repeat['Ha!',2]];
console.log[repeat['Ha!',3]];
3Đã trả lời ngày 27 tháng 10 năm 2014 lúc 13:05Oct 27, 2014 at 13:05
4
Nếu bạn không phản đối việc bao gồm một thư viện trong dự án của bạn, Lodash có chức năng lặp lại.
repeat = function repeat[str, count] {
if[typeof[count] == "undefined"] {
count =1;
}
return count < 1 ? '' : new Array[count + 1].join[str];
}
console.log[repeat['Ha!']];
console.log[repeat['Ha!',2]];
console.log[repeat['Ha!',3]];
4//lodash.com/docs#repeat
Đã trả lời ngày 8 tháng 9 năm 2015 lúc 21:22Sep 8, 2015 at 21:22
Cho tất cả các trình duyệt
Chức năng sau đây sẽ thực hiện nhanh hơn rất nhiều so với tùy chọn được đề xuất trong câu trả lời được chấp nhận:
repeat = function repeat[str, count] {
if[typeof[count] == "undefined"] {
count =1;
}
return count < 1 ? '' : new Array[count + 1].join[str];
}
console.log[repeat['Ha!']];
console.log[repeat['Ha!',2]];
console.log[repeat['Ha!',3]];
5Bạn sẽ sử dụng nó như thế này:
repeat = function repeat[str, count] {
if[typeof[count] == "undefined"] {
count =1;
}
return count < 1 ? '' : new Array[count + 1].join[str];
}
console.log[repeat['Ha!']];
console.log[repeat['Ha!',2]];
console.log[repeat['Ha!',3]];
6Để so sánh hiệu suất của chức năng này với tùy chọn được đề xuất trong câu trả lời được chấp nhận, hãy xem Fiddle này và Fiddle này để biết điểm chuẩn.this Fiddle and this Fiddle for benchmarks.
Chỉ dành cho trình duyệt hiện đại
Trong các trình duyệt hiện đại, bây giờ bạn có thể thực hiện việc này bằng phương pháp
$a = "a" x 10; // results in "aaaaaaaaaa"
5:repeat = function repeat[str, count] {
if[typeof[count] == "undefined"] {
count =1;
}
return count < 1 ? '' : new Array[count + 1].join[str];
}
console.log[repeat['Ha!']];
console.log[repeat['Ha!',2]];
console.log[repeat['Ha!',3]];
7Đọc thêm về phương pháp này trên MDN.
Tùy chọn này thậm chí còn nhanh hơn. Thật không may, nó không hoạt động trong bất kỳ phiên bản nào của Internet Explorer. Các số trong bảng Chỉ định phiên bản trình duyệt đầu tiên hỗ trợ đầy đủ phương thức:
Đã trả lời ngày 25 tháng 2 năm 2016 lúc 18:23Feb 25, 2016 at 18:23
John Slegersjohn SlegersJohn Slegers
42.9K22 Huy hiệu vàng194 Huy hiệu bạc163 Huy hiệu đồng22 gold badges194 silver badges163 bronze badges
0
Trong ES2015/ES6, bạn có thể sử dụng
$a = "a" x 10; // results in "aaaaaaaaaa"
6Vì vậy, chỉ cần thêm điều này vào các dự án của bạn, và của bạn là tốt để đi.
repeat = function repeat[str, count] {
if[typeof[count] == "undefined"] {
count =1;
}
return count < 1 ? '' : new Array[count + 1].join[str];
}
console.log[repeat['Ha!']];
console.log[repeat['Ha!',2]];
console.log[repeat['Ha!',3]];
8Đã trả lời ngày 16 tháng 3 năm 2016 lúc 21:01Mar 16, 2016 at 21:01
WebDebWebDebwebdeb
12.7K5 Huy hiệu vàng26 Huy hiệu bạc44 Huy hiệu đồng5 gold badges26 silver badges44 bronze badges
1
repeat = function repeat[str, count] {
if[typeof[count] == "undefined"] {
count =1;
}
return count < 1 ? '' : new Array[count + 1].join[str];
}
console.log[repeat['Ha!']];
console.log[repeat['Ha!',2]];
console.log[repeat['Ha!',3]];
9Đã trả lời ngày 9 tháng 5 năm 2013 lúc 2:29May 9, 2013 at 2:29
Yckartyckartyckart
31K9 Huy hiệu vàng118 Huy hiệu bạc128 Huy hiệu đồng9 gold badges118 silver badges128 bronze badges
0
Một cách thú vị khác để nhanh chóng lặp lại ký tự n là sử dụng ý tưởng từ thuật toán số mũ nhanh:
Ha! Ha!Ha! Ha!Ha!Ha!0
Đã trả lời ngày 6 tháng 1 năm 2015 lúc 12:17Jan 6, 2015 at 12:17
csharpfolkcsharpfolkcsharpfolk
4.06623 Huy hiệu bạc29 Huy hiệu đồng23 silver badges29 bronze badges
1
Chỉ vì niềm vui của nó, đây là một cách khác bằng cách sử dụng tofixed [], được sử dụng để định dạng số điểm nổi.
Bằng cách làm
Ha! Ha!Ha! Ha!Ha!Ha!1
chúng tôi nhận được
Ha! Ha!Ha! Ha!Ha!Ha!2
Nếu hai ký tự đầu tiên
$a = "a" x 10; // results in "aaaaaaaaaa"
7 bị xóa, chúng ta có thể sử dụng mẫu lặp lại này để tạo bất kỳ sự lặp lại nào.Ha! Ha!Ha! Ha!Ha!Ha!3
Đã trả lời ngày 18 tháng 6 năm 2021 lúc 17:40Jun 18, 2021 at 17:40
Jose Rui Santosjose Rui SantosJose Rui Santos
14.7K9 Huy hiệu vàng56 Huy hiệu bạc70 Huy hiệu Đồng9 gold badges56 silver badges70 bronze badges
Để lặp lại một giá trị trong các dự án của tôi, tôi sử dụng lặp lại
Ví dụ:
Ha! Ha!Ha! Ha!Ha!Ha!4
Nhưng hãy cẩn thận vì phương pháp này đã được thêm vào đặc tả ECMAScript 6.
Đã trả lời ngày 9 tháng 3 năm 2016 lúc 12:12Mar 9, 2016 at 12:12
Ha! Ha!Ha! Ha!Ha!Ha!5
Đã trả lời ngày 16 tháng 3 năm 2017 lúc 3:35Mar 16, 2017 at 3:35
Alejandroalejandroalejandro
2.7811 Huy hiệu vàng16 Huy hiệu bạc25 Huy hiệu đồng1 gold badge16 silver badges25 bronze badges
Miếng đệm bên phải với số không có mảng hoặc vòng lặp. Chỉ sử dụng
$a = "a" x 10; // results in "aaaaaaaaaa"
8 bằng ES6 2015, hiện có sự hỗ trợ rộng rãi. Bóng trái nếu bạn chuyển đổi sự kết hợp.Ha! Ha!Ha! Ha!Ha!Ha!6
Đã trả lời ngày 12 tháng 9 năm 2020 lúc 14:48Sep 12, 2020 at 14:48
Victor Stoddardvictor StoddardVictor Stoddard
3,4152 huy hiệu vàng24 Huy hiệu bạc24 Huy hiệu đồng2 gold badges24 silver badges24 bronze badges
Đây là những gì tôi sử dụng:
Ha! Ha!Ha! Ha!Ha!Ha!7
Đã trả lời ngày 16 tháng 1 năm 2016 lúc 5:35Jan 16, 2016 at 5:35
Koushik Daskoushik DasKoushik Das
8.2843 huy hiệu vàng46 Huy hiệu bạc40 Huy hiệu đồng3 gold badges46 silver badges40 bronze badges
Tôi sẽ mở rộng câu trả lời của @Bonbon. Phương pháp của anh ấy là một cách dễ dàng để "nối N ký tự vào một chuỗi hiện có", chỉ trong trường hợp bất cứ ai cần phải làm điều đó. Ví dụ: vì "Google" là 1 theo sau là 100 số không.
Ha! Ha!Ha! Ha!Ha!Ha!8
Ha! Ha!Ha! Ha!Ha!Ha!9
Lưu ý: Bạn phải thêm chiều dài của chuỗi ban đầu vào điều kiện. You do have to add the length of the original string to the conditional.
Đã trả lời ngày 25 tháng 4 năm 2015 lúc 7:02Apr 25, 2015 at 7:02
Bruno Bronoskybruno BronoskyBruno Bronosky
62.9K11 Huy hiệu vàng154 Huy hiệu bạc138 Huy hiệu đồng11 gold badges154 silver badges138 bronze badges
Lodash cung cấp một chức năng tương tự như hàm javascript report [] không có sẵn trong tất cả các bộ duyệt. Nó được gọi là _.repeat và có sẵn kể từ phiên bản 3.0.0:
class Person { constructor[] { this.name = 'Owen'; } } Person = class AnotherPerson { constructor[] { this.name = 'Eddie'; } }; const member = new Person[]; console.log[member.name];0
Đã trả lời ngày 13 tháng 12 năm 2016 lúc 17:23Dec 13, 2016 at 17:23
0x4a6f46720x4a6f46720x4a6f4672
26.4K16 Huy hiệu vàng102 Huy hiệu bạc136 Huy hiệu Đồng16 gold badges102 silver badges136 bronze badges
class Person { constructor[] { this.name = 'Owen'; } } Person = class AnotherPerson { constructor[] { this.name = 'Eddie'; } }; const member = new Person[]; console.log[member.name];1
JWPFOX
5.02411 Huy hiệu vàng45 Huy hiệu bạc42 Huy hiệu đồng11 gold badges45 silver badges42 bronze badges
Đã trả lời ngày 23 tháng 12 năm 2016 lúc 11:31Dec 23, 2016 at 11:31
FilthfilthFilth
3.02113 Huy hiệu vàng49 Huy hiệu bạc75 Huy hiệu đồng13 gold badges49 silver badges75 bronze badges
Cũng có thể được sử dụng như một lớp lót:
class Person { constructor[] { this.name = 'Owen'; } } Person = class AnotherPerson { constructor[] { this.name = 'Eddie'; } }; const member = new Person[]; console.log[member.name];2
Đã trả lời ngày 17 tháng 5 năm 2017 lúc 3:32May 17, 2017 at 3:32
SarsaparillasarsaparillaSarsaparilla
5.9201 Huy hiệu vàng28 Huy hiệu bạc20 Huy hiệu Đồng1 gold badge28 silver badges20 bronze badges
1
Trong CoffeeScript:
class Person { constructor[] { this.name = 'Owen'; } } Person = class AnotherPerson { constructor[] { this.name = 'Eddie'; } }; const member = new Person[]; console.log[member.name];3
Đã trả lời ngày 1 tháng 6 năm 2017 lúc 13:03Jun 1, 2017 at 13:03
Đây là cách bạn có thể gọi một hàm và nhận kết quả bằng cách trợ giúp của mảng [] và tham gia []
class Person { constructor[] { this.name = 'Owen'; } } Person = class AnotherPerson { constructor[] { this.name = 'Eddie'; } }; const member = new Person[]; console.log[member.name];4
Đã trả lời ngày 9 tháng 3 năm 2020 lúc 17:22Mar 9, 2020 at 17:22
Amir Đan Mạch Đan MạchAmir Danish
3484 Huy hiệu bạc7 Huy hiệu đồng4 silver badges7 bronze badges
Tôi nhận ra rằng đó không phải là một nhiệm vụ phổ biến, nếu bạn cần lặp lại chuỗi của mình chứ không phải số lần số nguyên thì sao?not an integer number of times?
Có thể với
$a = "a" x 10; // results in "aaaaaaaaaa"
8 và "a".repeat[10]
0, đây là cách:class Person { constructor[] { this.name = 'Owen'; } } Person = class AnotherPerson { constructor[] { this.name = 'Eddie'; } }; const member = new Person[]; console.log[member.name];5
Và bên dưới một phiên bản rút ngắn:
class Person { constructor[] { this.name = 'Owen'; } } Person = class AnotherPerson { constructor[] { this.name = 'Eddie'; } }; const member = new Person[]; console.log[member.name];6
Đã trả lời ngày 9 tháng 4 lúc 11:11Apr 9 at 11:11
Nicaelnicaelnicael
17.9K12 Huy hiệu vàng55 Huy hiệu bạc88 Huy hiệu đồng12 gold badges55 silver badges88 bronze badges
class Person { constructor[] { this.name = 'Owen'; } } Person = class AnotherPerson { constructor[] { this.name = 'Eddie'; } }; const member = new Person[]; console.log[member.name];7
Bhargav Rao
47.5K27 Huy hiệu vàng122 Huy hiệu bạc137 Huy hiệu đồng27 gold badges122 silver badges137 bronze badges
Đã trả lời ngày 24 tháng 10 năm 2016 lúc 1:18Oct 24, 2016 at 1:18
2
class Person { constructor[] { this.name = 'Owen'; } } Person = class AnotherPerson { constructor[] { this.name = 'Eddie'; } }; const member = new Person[]; console.log[member.name];8
Đã trả lời 10 giờ trước10 hours ago
1
Đây là phiên bản ES6
class Person { constructor[] { this.name = 'Owen'; } } Person = class AnotherPerson { constructor[] { this.name = 'Eddie'; } }; const member = new Person[]; console.log[member.name];9
Đã trả lời ngày 18 tháng 8 năm 2017 lúc 10:53Aug 18, 2017 at 10:53
MaxalimaxaliMaxali
1.8682 Huy hiệu vàng16 Huy hiệu bạc23 Huy hiệu đồng2 gold badges16 silver badges23 bronze badges