freeCodeCamp/curriculum/challenges/italian/02-javascript-algorithms-an.../basic-data-structures/add-items-using-splice.md

2.5 KiB

id title challengeType forumTopicId dashedName
587d78b3367417b2b2512b11 Aggiungere elementi usando splice() 1 301152 add-items-using-splice

--description--

Ricordi che nell'ultima sfida abbiamo detto che splice() può richiedere fino a tre parametri? Bene, è possibile utilizzare il terzo parametro, composto da uno o più elementi, per aggiungerli all'array. Questo può essere incredibilmente utile per scambiare rapidamente un elemento, o un insieme di elementi, con un altro.

const numbers = [10, 11, 12, 12, 15];
const startIndex = 3;
const amountToDelete = 1;

numbers.splice(startIndex, amountToDelete, 13, 14);
console.log(numbers);

La seconda occorrenza di 12 viene rimossa, e aggiungiamo 13 e 14 allo stesso indice. L'array numbers ora è [ 10, 11, 12, 13, 14, 15 ].

Qui iniziamo con una serie di numeri. Poi, passiamo i seguenti dati a splice(): L'indice a cui iniziare a eliminare gli elementi (3), il numero di elementi da eliminare (1) e i restanti argomenti (13, 14) saranno inseriti a partire dallo stesso indice. Nota che ci può essere un numero qualsiasi di elementi (separati da virgole) dopo amountToDelete, ognuno dei quali verrà inserito.

--instructions--

Abbiamo definito una funzione, htmlColorNames, che prende un array di colori HTML come argomento. Modifica la funzione usando splice() per rimuovere i primi due elementi dell'array e aggiungere 'DarkSalmon' e 'BlanchedAlmond' nei rispettivi posti.

--hints--

htmlColorNames dovrebbe restituire ["DarkSalmon", "BlanchedAlmond", "LavenderBlush", "PaleTurquoise", "FireBrick"]

assert.deepEqual(
  htmlColorNames([
    'DarkGoldenRod',
    'WhiteSmoke',
    'LavenderBlush',
    'PaleTurquoise',
    'FireBrick'
  ]),
  [
    'DarkSalmon',
    'BlanchedAlmond',
    'LavenderBlush',
    'PaleTurquoise',
    'FireBrick'
  ]
);

La funzione htmlColorNames dovrebbe utilizzare il metodo splice()

assert(/.splice/.test(code));

Non dovresti usare shift() o unshift().

assert(!/shift|unshift/.test(code));

Non dovresti utilizzare la notazione a parentesi.

assert(!/\[\d\]\s*=/.test(code));

--seed--

--seed-contents--

function htmlColorNames(arr) {
  // Only change code below this line

  // Only change code above this line
  return arr;
}

console.log(htmlColorNames(['DarkGoldenRod', 'WhiteSmoke', 'LavenderBlush', 'PaleTurquoise', 'FireBrick']));

--solutions--

function htmlColorNames(arr) {
  arr.splice(0,2,'DarkSalmon', 'BlanchedAlmond');
  return arr;
}