Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.07.2017, 19:45
Аспирант
Отправить личное сообщение для Tanya51 Посмотреть профиль Найти все сообщения от Tanya51
 
Регистрация: 09.07.2017
Сообщений: 49

Массив объектов
задачка:
Изучите перебирающие методы массивов: forEach, filter, map. Создайте массив объектов users (~10 объектов), каждый объект имеет поля firstname, lastname, age с разными значениями. Используя встроенные функции массивов:
-Отфильтруйте пользователей младше 18 лет
-Добавьте каждому объекту поле fullName, которое является конкатенацией имени и фамилии
-Сформируйте новый массив, который содержит только полное имя пользователей.

Массив обьектов создала,а дальше не получается((
Как работают forEach, filter, map на простых задачах понятно,а как их применить к более сложной не понятно(
Ответить с цитированием
  #2 (permalink)  
Старый 15.07.2017, 20:18
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от Tanya51
а дальше не получается
где код?
Ответить с цитированием
  #3 (permalink)  
Старый 15.07.2017, 20:25
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Tanya51,
Могу подсказать где какой метод использовать:
-Отфильтруйте... filter
-Добавьте... forEach
-Сформируйте... map
Ответить с цитированием
  #4 (permalink)  
Старый 15.07.2017, 21:28
Аспирант
Отправить личное сообщение для Tanya51 Посмотреть профиль Найти все сообщения от Tanya51
 
Регистрация: 09.07.2017
Сообщений: 49

Сообщение от Rise Посмотреть сообщение
Tanya51,
Могу подсказать где какой метод использовать:
-Отфильтруйте... filter
-Добавьте... forEach
-Сформируйте... map
это я поняла)
Ответить с цитированием
  #5 (permalink)  
Старый 15.07.2017, 21:28
Аспирант
Отправить личное сообщение для Tanya51 Посмотреть профиль Найти все сообщения от Tanya51
 
Регистрация: 09.07.2017
Сообщений: 49

Сообщение от рони Посмотреть сообщение
где код?
уже немного разобралась)
Напишу,если возникнут вопросы. Спасибо)
Ответить с цитированием
  #6 (permalink)  
Старый 15.07.2017, 22:08
Аспирант
Отправить личное сообщение для Tanya51 Посмотреть профиль Найти все сообщения от Tanya51
 
Регистрация: 09.07.2017
Сообщений: 49

var users=[
  {
    firstname: 'Tanya',
    lastname: 'Sashyna',
    age: 25,
  },
   {
    firstname: 'Lena',
    lastname: 'Velichko',
    age: 27,
  },
  {
    firstname: 'Nastya',
    lastname: 'Sash',
    age: 5,
  }
}
users.forEach(function(item, i, users) {
  return users.push(Array['fullName']=Array.firstname+Array.lastname);
});


Мне нужно добавить в обьекты,которые находятся в массиве users свойство fullName со значением (конкатенацией) firstname+lastname.

В коде выше он мне добавляет NaN в массив.
Подскажите как правильно сделать

Последний раз редактировалось Tanya51, 15.07.2017 в 22:10.
Ответить с цитированием
  #7 (permalink)  
Старый 15.07.2017, 22:14
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Tanya51,
var users=[
  {
    firstname: 'Tanya',
    lastname: 'Sashyna',
    age: 25
  },
   {
    firstname: 'Lena',
    lastname: 'Velichko',
    age: 27
  },
  {
    firstname: 'Nastya',
    lastname: 'Sash',
    age: 5
  }
]
users.forEach(function(item, i, users) {
  item.fullName = item.firstname+" "+item.lastname;
});

console.log(users)
Ответить с цитированием
  #8 (permalink)  
Старый 15.07.2017, 22:18
Аспирант
Отправить личное сообщение для Tanya51 Посмотреть профиль Найти все сообщения от Tanya51
 
Регистрация: 09.07.2017
Сообщений: 49

спасибо)
Ответить с цитированием
  #9 (permalink)  
Старый 15.07.2017, 22:35
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Tanya51,
Надо называть вещи своими именами тогда станет понятно что есть что:
users.forEach(function(user, index, users) {
  user.fullName = user.firstname+" "+user.lastname;
});
Ответить с цитированием
  #10 (permalink)  
Старый 16.07.2017, 11:13
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

function getter() {
    return this.firstname + ' ' + this.lastname;
}

users.forEach(function(user) {
    Object.defineProperty(user, 'fullname', {
        get: getter
    });
});
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Массив объектов JobLack Общие вопросы Javascript 3 08.06.2017 16:14
Массив объектов voodoo_dn Общие вопросы Javascript 8 26.12.2014 15:44
Массив объектов doox911 Библиотеки/Тулкиты/Фреймворки 6 16.01.2014 22:36
массив объектов bohdan Общие вопросы Javascript 2 29.02.2012 23:40
Массив объектов или объект объектов vladlen Общие вопросы Javascript 19 30.10.2010 03:10