@Akrei

Почему push() возвращает длину массива?

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
  return userObj.data.friends.push(friend);
  // Only change code above this line
}

console.log(addFriend(user, 'Pete'));
  • Вопрос задан
  • 362 просмотра
Решения вопроса 2
Lynn
@Lynn
nginx, js, css
Потому что так написано в спецификации.
Ответ написан
Комментировать
dimsog
@dimsog
Переносил код с PHP 4 на 7.4...
Все верно, array push возвращает длину массива. Так и должно быть.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@xanzor
Возможно другие люди тоже будут сталкиваться с такой проблемой, поэтому хоть и поздно, но отвечу)))

Он добавляет элементы, начиная с текущей длины length и возвращает новую, увеличенную длину массива.(https://javascript.ru/array/push)

Поэтому нужно примерно так:
userObj.data.friends.push(friend);    // 4
return  userObj.data.friends;     //[ 'Sam', 'Kira', 'Tomo', 'Pete' ]
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы