Skip to content

Instantly share code, notes, and snippets.

@dimitrismistriotis
Last active January 8, 2016 10:54
Show Gist options
  • Select an option

  • Save dimitrismistriotis/4c44c979037231b1602f to your computer and use it in GitHub Desktop.

Select an option

Save dimitrismistriotis/4c44c979037231b1602f to your computer and use it in GitHub Desktop.

Revisions

  1. dimitrismistriotis revised this gist Jan 8, 2016. 1 changed file with 3 additions and 1 deletion.
    4 changes: 3 additions & 1 deletion getJoinedArrayText.js
    Original file line number Diff line number Diff line change
    @@ -13,6 +13,8 @@
    * "1, 2, 3 and 4"
    * getJoinedArrayText([1,2,3,4,5,6])
    * "6 selected items"
    * getJoinedArrayText([1,2,3,4,5,6], 'items')
    * "6 items"
    */
    function getJoinedArrayText(arrayToJoin, manyItemsText) {
    const DISPLAY_LENGTH_TIPPING_POINT = 5;
    @@ -22,6 +24,6 @@ function getJoinedArrayText(arrayToJoin, manyItemsText) {
    (arrayLength > 1 ? " and " : '') +
    arrayToJoin[arrayLength - 1];
    } else {
    return arrayLength + ((manyItemsText == null) ? ' selected items' : manyItemsText);
    return arrayLength + ' ' + ((manyItemsText == null) ? ' selected items' : manyItemsText.trim());
    }
    }
  2. dimitrismistriotis revised this gist Jan 8, 2016. 1 changed file with 5 additions and 3 deletions.
    8 changes: 5 additions & 3 deletions getJoinedArrayText.js
    Original file line number Diff line number Diff line change
    @@ -11,15 +11,17 @@
    * "1, 2 and 3"
    * getJoinedArrayText(['1', '2', '3', '4'])
    * "1, 2, 3 and 4"
    * getJoinedArrayText([1,2,3,4,5,6])
    * "6 selected items"
    */
    function getJoinedArrayText(arrayToJoin) {
    function getJoinedArrayText(arrayToJoin, manyItemsText) {
    const DISPLAY_LENGTH_TIPPING_POINT = 5;
    let joinedArray = "", arrayLength = arrayToJoin.length;
    var joinedArray = "", arrayLength = arrayToJoin.length;
    if (arrayLength <= DISPLAY_LENGTH_TIPPING_POINT) {
    return arrayToJoin.slice(0, arrayLength - 1).join(', ') +
    (arrayLength > 1 ? " and " : '') +
    arrayToJoin[arrayLength - 1];
    } else {
    return `${arrayLength} selected items`;
    return arrayLength + ((manyItemsText == null) ? ' selected items' : manyItemsText);
    }
    }
  3. dimitrismistriotis created this gist Jan 7, 2016.
    25 changes: 25 additions & 0 deletions getJoinedArrayText.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,25 @@
    /**
    * Returns array join in a more natural language style by adding commas and
    * having the last item prefixed with "and".
    * Examples:
    *
    * getJoinedArrayText(['1'])
    * "1"
    * getJoinedArrayText(['1', '2'])
    * "1 and 2"
    * getJoinedArrayText(['1', '2', '3'])
    * "1, 2 and 3"
    * getJoinedArrayText(['1', '2', '3', '4'])
    * "1, 2, 3 and 4"
    */
    function getJoinedArrayText(arrayToJoin) {
    const DISPLAY_LENGTH_TIPPING_POINT = 5;
    let joinedArray = "", arrayLength = arrayToJoin.length;
    if (arrayLength <= DISPLAY_LENGTH_TIPPING_POINT) {
    return arrayToJoin.slice(0, arrayLength - 1).join(', ') +
    (arrayLength > 1 ? " and " : '') +
    arrayToJoin[arrayLength - 1];
    } else {
    return `${arrayLength} selected items`;
    }
    }