ScRaMbLe
๐ Scrambles (rearranges randomly) Strings and Arrays. ๐
๐ Support further development
I work hard for every project, including this one
and your support means a lot to me!
Consider buying me a coffee. โ
Thank you for supporting my efforts! ๐๐
@igorskyflyer
๐ Table of contents
๐ค Features
- ๐ซ reorders elements randomly
- ๐ works for strings and arrays
- ๐ฒ uses
Fisher-Yates
algorithm
๐ต๐ผ Usage
Install it by executing:
npm i '@igor.dvlpr/scramble'
๐คน๐ผ API
scrambleString(input: string, options?: IStringOptions): string
Scrambles the characters of each word in a given string.
input
- The string to be scrambled.
[!NOTE]
Since Fisher-Yates
algorithm is used for scrambling, a length of > 3 is needed for a word to be able to get scrambled.
options
- Options for scrambling, optional.
options
are defined via an interface IStringOptions
:
interface IStringOptions {
trimWhitespace?: boolean
}
trimWhitespace
, if true all whitespace is removed from the input string prior to scrambling its contents.
Returns the scrambled string.
Will throw an error if the input is not a string.
scrambleArray<ArrayType>(input: ArrayType[]): ArrayType[]
Scrambles the elements of an array.
input
- The array to be scrambled.
Returns the scrambled array.
Will throw an error if the input is not an array.
โจ Examples
example.mts
import { scrambleString, scrambleArray } from '@igor.dvlpr/scramble'
console.log(scrambleString(
'Lorem ipsum dolor sit amet, consectetur adipiscing elit.'
))
console.log(scrambleString(
'Lorem ipsum dolor sit amet, consectetur adipiscing elit.', { trimWhitespace: true }
))
console.log(scrambleArray([1, 2, 3, 4, 5, 6, 7, 8]))
๐ Changelog
๐ The changelog is available here: CHANGELOG.md.
๐ชช License
Licensed under the MIT license which is available here, MIT license.
๐งฌ Related
@igor.dvlpr/uarray
๐ Provides UArray, an Array type that supports negative indices/indexes, just wrap your regular JavaScript array with UArray() and you are all set! ๐
@igor.dvlpr/magic-string
๐งต An expressive and chainable library for advanced string manipulations. Supports appending, prepending, trimming, quoting, and path formatting with customizable whitespace handling. Makes advanced String manipulations a piece of cake. ๐ฆฅ
@igor.dvlpr/strip-html
๐ฅ Removes HTML code from the given string. Can even extract text-only from the given an HTML string. โจ
@igor.dvlpr/extendable-string
๐ฆ ExtendableString allows you to create strings on steroids that have custom transformations applied to them, unlike common, plain strings. ๐ช
@igor.dvlpr/duoscribi
โ DรบรถScrรญbรฎ allows you to convert letters with diacritics to regular letters. ๐ค
๐จ๐ปโ๐ป Author
Created by Igor Dimitrijeviฤ (@igorskyflyer).