user contiene tres claves. La clave de data contiene cinco claves, una de las cuales contiene una gran variedad de friends . A partir de esto, puede ver cómo los objetos flexibles son como estructuras de datos. Hemos empezado a escribir una función addFriend . Termine de escribirlo para que tome un objeto de user y agregue el nombre del argumento de friend a la matriz almacenada en user.data.friends y devuelva esa matriz. user tiene name , age y claves de data'
testString: 'assert("name" in user && "age" in user && "data" in user, "The user object has name, age, and data keys");'
- text: La función addFriend acepta un objeto de user y una cadena de friend como argumentos y agrega el amigo a la matriz de friends en el objeto de user
testString: 'assert((function() { let L1 = user.data.friends.length; addFriend(user, "Sean"); let L2 = user.data.friends.length; return (L2 === L1 + 1); })(), "The addFriend function accepts a user object and a friend string as arguments and adds the friend to the array of friends in the user object");'
- text: 'addFriend(user, "Pete") debe devolver ["Sam", "Kira", "Tomo", "Pete"]'
testString: 'assert.deepEqual((function() { delete user.data.friends; user.data.friends = ["Sam", "Kira", "Tomo"]; return addFriend(user, "Pete") })(), ["Sam", "Kira", "Tomo", "Pete"], "addFriend(user, "Pete") should return ["Sam", "Kira", "Tomo", "Pete"]");'
```