You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

135 lines
4.9 KiB

4 years ago
  1. # repeat-string [![NPM version](https://img.shields.io/npm/v/repeat-string.svg?style=flat)](https://www.npmjs.com/package/repeat-string) [![NPM monthly downloads](https://img.shields.io/npm/dm/repeat-string.svg?style=flat)](https://npmjs.org/package/repeat-string) [![NPM total downloads](https://img.shields.io/npm/dt/repeat-string.svg?style=flat)](https://npmjs.org/package/repeat-string) [![Linux Build Status](https://img.shields.io/travis/jonschlinkert/repeat-string.svg?style=flat&label=Travis)](https://travis-ci.org/jonschlinkert/repeat-string)
  2. > Repeat the given string n times. Fastest implementation for repeating a string.
  3. ## Install
  4. Install with [npm](https://www.npmjs.com/):
  5. ```sh
  6. $ npm install --save repeat-string
  7. ```
  8. ## Usage
  9. ### [repeat](index.js#L41)
  10. Repeat the given `string` the specified `number` of times.
  11. **Example:**
  12. **Example**
  13. ```js
  14. var repeat = require('repeat-string');
  15. repeat('A', 5);
  16. //=> AAAAA
  17. ```
  18. **Params**
  19. * `string` **{String}**: The string to repeat
  20. * `number` **{Number}**: The number of times to repeat the string
  21. * `returns` **{String}**: Repeated string
  22. ## Benchmarks
  23. Repeat string is significantly faster than the native method (which is itself faster than [repeating](https://github.com/sindresorhus/repeating)):
  24. ```sh
  25. # 2x
  26. repeat-string █████████████████████████ (26,953,977 ops/sec)
  27. repeating █████████ (9,855,695 ops/sec)
  28. native ██████████████████ (19,453,895 ops/sec)
  29. # 3x
  30. repeat-string █████████████████████████ (19,445,252 ops/sec)
  31. repeating ███████████ (8,661,565 ops/sec)
  32. native ████████████████████ (16,020,598 ops/sec)
  33. # 10x
  34. repeat-string █████████████████████████ (23,792,521 ops/sec)
  35. repeating █████████ (8,571,332 ops/sec)
  36. native ███████████████ (14,582,955 ops/sec)
  37. # 50x
  38. repeat-string █████████████████████████ (23,640,179 ops/sec)
  39. repeating █████ (5,505,509 ops/sec)
  40. native ██████████ (10,085,557 ops/sec)
  41. # 250x
  42. repeat-string █████████████████████████ (23,489,618 ops/sec)
  43. repeating ████ (3,962,937 ops/sec)
  44. native ████████ (7,724,892 ops/sec)
  45. # 2000x
  46. repeat-string █████████████████████████ (20,315,172 ops/sec)
  47. repeating ████ (3,297,079 ops/sec)
  48. native ███████ (6,203,331 ops/sec)
  49. # 20000x
  50. repeat-string █████████████████████████ (23,382,915 ops/sec)
  51. repeating ███ (2,980,058 ops/sec)
  52. native █████ (5,578,808 ops/sec)
  53. ```
  54. **Run the benchmarks**
  55. Install dev dependencies:
  56. ```sh
  57. npm i -d && node benchmark
  58. ```
  59. ## About
  60. ### Related projects
  61. [repeat-element](https://www.npmjs.com/package/repeat-element): Create an array by repeating the given value n times. | [homepage](https://github.com/jonschlinkert/repeat-element "Create an array by repeating the given value n times.")
  62. ### Contributing
  63. Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).
  64. ### Contributors
  65. | **Commits** | **Contributor**<br/> |
  66. | --- | --- |
  67. | 51 | [jonschlinkert](https://github.com/jonschlinkert) |
  68. | 2 | [LinusU](https://github.com/LinusU) |
  69. | 2 | [tbusser](https://github.com/tbusser) |
  70. | 1 | [doowb](https://github.com/doowb) |
  71. | 1 | [wooorm](https://github.com/wooorm) |
  72. ### Building docs
  73. _(This document was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme) (a [verb](https://github.com/verbose/verb) generator), please don't edit the readme directly. Any changes to the readme must be made in [.verb.md](.verb.md).)_
  74. To generate the readme and API documentation with [verb](https://github.com/verbose/verb):
  75. ```sh
  76. $ npm install -g verb verb-generate-readme && verb
  77. ```
  78. ### Running tests
  79. Install dev dependencies:
  80. ```sh
  81. $ npm install -d && npm test
  82. ```
  83. ### Author
  84. **Jon Schlinkert**
  85. * [github/jonschlinkert](https://github.com/jonschlinkert)
  86. * [twitter/jonschlinkert](http://twitter.com/jonschlinkert)
  87. ### License
  88. Copyright © 2016, [Jon Schlinkert](http://github.com/jonschlinkert).
  89. Released under the [MIT license](https://github.com/jonschlinkert/repeat-string/blob/master/LICENSE).
  90. ***
  91. _This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.2.0, on October 23, 2016._