项目作者: writetome51

项目描述 :
An array-manipulating typescript/javascript class with sorting methods
高级语言: TypeScript
项目地址: git://github.com/writetome51/public-array-sorter.git
创建时间: 2018-10-04T01:59:31Z
项目社区:https://github.com/writetome51/public-array-sorter

开源协议:MIT License

下载


PublicArraySorter

An array-manipulating TypeScript/JavaScript class with methods that change
the order of the array items.

Constructor

  1. constructor(data? = []) // 'data' is assigned to this.data .

You can reset the array by accessing the class .data property:

  1. this.data = [1,2,3,4];

Properties

  1. data : any[] // the actual array
  2. className : string (read-only)

Methods


view methods

ts alphabetize(): this; // No item in this.data gets modified, but each is treated as a string // during the sorting. numbersAscending(): this; // If not all items in this.data are of type 'number', it triggers error. numbersDescending(): this; // If not all items in this.data are of type 'number', it triggers error. reverse(): this; shuffle(): this; // randomizes the order of items.
The methods below are not important to know about in order to use this
class. They’re inherited from BaseClass .
ts protected _createGetterAndOrSetterForEach( propertyNames: string[], configuration: IGetterSetterConfiguration ) : void /********************* Use this method when you have a bunch of properties that need getter and/or setter functions that all do the same thing. You pass in an array of string names of those properties, and the method attaches the same getter and/or setter function to each property. IGetterSetterConfiguration is this object: { get_setterFunction?: ( propertyName: string, index?: number, propertyNames?: string[] ) => Function, // get_setterFunction takes the property name as first argument and // returns the setter function. The setter function must take one // parameter and return void. get_getterFunction?: ( propertyName: string, index?: number, propertyNames?: string[] ) => Function // get_getterFunction takes the property name as first argument and // returns the getter function. The getter function must return something. } *********************/ protected _returnThis_after(voidExpression: any) : this // voidExpression is executed, then function returns this. // Even if voidExpression returns something, the returned data isn't used. protected _errorIfPropertyHasNoValue( property: string, // can contain dot-notation, i.e., 'property.subproperty' propertyNameInError? = '' ) : void // If value of this[property] is undefined or null, it triggers fatal error: // `The property "${propertyNameInError}" has no value.`

Usage Examples


view examples

ts // getting an instance: let sort = new PublicArraySorter([4,1,6,0,2,9,7]); // sorting numbers: sort.numbersAscending(); // sort.data is now [0,1,2,4,6,7,9] // changing the array content: sort.data = ['h','e','l','l','o']; // sorting alphabetically: sort.alphabetize(); // sort.data is now ['e', 'h', 'l', 'l', 'o'] // reversing the order: sort.reverse(); // sort.data is now ['o', 'l', 'l', 'h', 'e'] // randomizing the order: sort.shuffle();

Inheritance Chain

PublicArraySorter<—PublicArrayContainer<—BaseClass

Installation

  1. npm install @writetome51/public-array-sorter

Loading

  1. // If using TypeScript:
  2. import {PublicArraySorter} from '@writetome51/public-array-sorter';
  3. // If using ES5 JavaScript:
  4. var PublicArraySorter = require('@writetome51/public-array-sorter').PublicArraySorter;

License

MIT