freeCodeCamp/curriculum/challenges/italian/10-coding-interview-prep/rosetta-code/generate-lower-case-ascii-a...

1.8 KiB

id title challengeType forumTopicId dashedName
5a23c84252665b21eecc7e7a Genera l'alfabeto ASCII minuscolo 5 302274 generate-lower-case-ascii-alphabet

--description--

Scrivi una funzione per generare un array di caratteri ASCII minuscoli per un dato range. Ad esempio, dato l'intervallo ['a', 'd'], la funzione dovrebbe restituire ['a', 'b', 'c', 'd'].

--hints--

lascii dovrebbe essere una funzione.

assert(typeof lascii == 'function');

lascii("a","d") dovrebbe restituire un array.

assert(Array.isArray(lascii('a', 'd')));

lascii('a','d') dovrebbe restituire [ 'a', 'b', 'c', 'd' ].

assert.deepEqual(lascii('a', 'd'), results[0]);

lascii('c','i') dovrebbe restituire [ 'c', 'd', 'e', 'f', 'g', 'h', 'i' ].

assert.deepEqual(lascii('c', 'i'), results[1]);

lascii('m','q') dovrebbe restituire [ 'm', 'n', 'o', 'p', 'q' ].

assert.deepEqual(lascii('m', 'q'), results[2]);

lascii('k','n') dovrebbe restituire [ 'k', 'l', 'm', 'n' ].

assert.deepEqual(lascii('k', 'n'), results[3]);

lascii('t','z') dovrebbe restituire [ 't', 'u', 'v', 'w', 'x', 'y', 'z' ].

assert.deepEqual(lascii('t', 'z'), results[4]);

--seed--

--after-user-code--

let results=[
  [ 'a', 'b', 'c', 'd' ],
  [ 'c', 'd', 'e', 'f', 'g', 'h', 'i' ],
  [ 'm', 'n', 'o', 'p', 'q' ],
  [ 'k', 'l', 'm', 'n' ],
  [ 't', 'u', 'v', 'w', 'x', 'y', 'z' ]
]

--seed-contents--

function lascii(cFrom, cTo) {

}

--solutions--

function lascii(cFrom, cTo) {

  function cRange(cFrom, cTo) {
    var iStart = cFrom.charCodeAt(0);

    return Array.apply(
      null, Array(cTo.charCodeAt(0) - iStart + 1)
    ).map(function (_, i) {

      return String.fromCharCode(iStart + i);

    });
  }

  return cRange(cFrom, cTo);

}