freeCodeCamp/curriculum/challenges/italian/02-javascript-algorithms-an.../basic-data-structures/modify-an-array-stored-in-a...

3.1 KiB

id title challengeType forumTopicId dashedName
587d7b7d367417b2b2512b1f Modificare un array memorizzato in un oggetto 1 301163 modify-an-array-stored-in-an-object

--description--

Adesso hai visto tutte le operazioni di base per gli oggetti JavaScript. Puoi aggiungere, modificare e rimuovere coppie chiave-valore, controllare se una proprietà esiste e iterare su tutte le chiavi di un oggetto. Continuando a conoscere JavaScript vedrai applicazioni ancora più versatili degli oggetti. Inoltre, le lezioni di Strutture Dati nella sezione Colloquio di Lavoro per Programmatori del curriculum coprono anche gli oggetti ES6 Map e Set, entrambi i quali sono simili a oggetti ordinari, ma forniscono alcune caratteristiche aggiuntive. Ora che hai imparato le basi di array e oggetti, sei pienamente preparato per iniziare ad affrontare problemi più complessi utilizzando JavaScript!

--instructions--

Dai un'occhiata all'oggetto che abbiamo fornito nell'editor di codice. L'oggetto user contiene tre chiavi. La chiave data contiene cinque chiavi, una delle quali contiene un array di friends (amici). Da questo puoi vedere quanto gli oggetti siano flessibili come strutture di dati. Abbiamo iniziato a scrivere una funzione addFriend. Finisci di scriverla in modo che prenda un oggetto user, aggiunga il nome dell'argomento friend all'array memorizzato in user.data.friends e restituisca questo array.

--hints--

L'oggetto user dovrebbe avere le chiavi name, age e data.

assert('name' in user && 'age' in user && 'data' in user);

La funzione addFriend dovrebbe ricevere un oggetto user e una stringa friend come argomenti e aggiungere l'amico all'array friends nell'oggetto user.

assert(
  (function () {
    let L1 = user.data.friends.length;
    addFriend(user, 'Sean');
    let L2 = user.data.friends.length;
    return L2 === L1 + 1;
  })()
);

addFriend(user, "Pete") dovrebbe restituire ["Sam", "Kira", "Tomo", "Pete"].

assert.deepEqual(
  (function () {
    delete user.data.friends;
    user.data.friends = ['Sam', 'Kira', 'Tomo'];
    return addFriend(user, 'Pete');
  })(),
  ['Sam', 'Kira', 'Tomo', 'Pete']
);

--seed--

--seed-contents--

let user = {
  name: 'Kenneth',
  age: 28,
  data: {
    username: 'kennethCodesAllDay',
    joinDate: 'March 26, 2016',
    organization: 'freeCodeCamp',
    friends: [
      'Sam',
      'Kira',
      'Tomo'
    ],
    location: {
      city: 'San Francisco',
      state: 'CA',
      country: 'USA'
    }
  }
};

function addFriend(userObj, friend) {
  // Only change code below this line

  // Only change code above this line
}

console.log(addFriend(user, 'Pete'));

--solutions--

let user = {
  name: 'Kenneth',
  age: 28,
  data: {
    username: 'kennethCodesAllDay',
    joinDate: 'March 26, 2016',
    organization: 'freeCodeCamp',
    friends: [
      'Sam',
      'Kira',
      'Tomo'
    ],
    location: {
      city: 'San Francisco',
      state: 'CA',
      country: 'USA'
    }
  }
};

function addFriend(userObj, friend) {
  userObj.data.friends.push(friend);
  return userObj.data.friends;
}