Javascript.RU

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

Деструктурирующее присваивание
Только начинаю осваивать JS, помогите разобраться(

Организовать функцию getInfo, которая принимает объект вида
{ name: ..., info: { employees: [...], partners: [ … ] } }
и выводит в консоль имя (если имени нет, показывать ‘Unknown’) и первые две компании из массива partners:

[script]
const organisation = {
name: 'Google',
info: { employees: [‘Vlad’, ‘Olga’], partners: ['Microsoft', 'Facebook', 'Xing'] }
};
getInfo(organisation); →
Name: Google
Partners: Microsoft Facebook
[/script]
Ответить с цитированием
  #2 (permalink)  
Старый 02.08.2019, 10:11
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

function getInfo(o) {
    console.log('Name: %s\nPartners: %s', o.name||'Unknown', o.info.partners.slice(0, 2).join(' '))
}


[Vlad, Olga - нельзя!
Ответить с цитированием
  #3 (permalink)  
Старый 02.08.2019, 10:19
Аватар для SuperZen
Профессор
Отправить личное сообщение для SuperZen Посмотреть профиль Найти все сообщения от SuperZen
 
Регистрация: 08.11.2017
Сообщений: 642

<script>

  const organisationGoogle = {
    name: 'Google',
    info: {
      employees: ['Vlad', 'Olga'],
      partners: ['Microsoft', 'Facebook', 'Xing']
    }
  };
  const organisationCompany = {
    info: {
      employees: ['Olga', 'Vlad'],
      partners: ['Xing']
    }
  };

  const getInfo = organisation => {
    const { name, info: { partners } } = organisation
    return { name: name || `UNKNOWN`, partners: partners.slice(0, 2) }
  }

  const getOrganisationInfo = ({ name, info: { partners } }) => ({ name: name || `UNKNOWN`, partners: partners.slice(0, 2) })

  console.log(getOrganisationInfo(organisationGoogle))
  console.log(getOrganisationInfo(organisationCompany))

</script>
Ответить с цитированием
  #4 (permalink)  
Старый 02.08.2019, 11:01
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108


const organisationGoogle = {
    name: 'Google',
    info: {
      employees: ['Vlad', 'Olga'],
      partners: ['Microsoft', 'Facebook', 'Xing']
    }
  };
  const organisationCompany = {
    info: {
      employees: ['Olga', 'Vlad'],
      partners: ['Xing']
    }
  };

  const getInfo = ({ name = 'UNKNOWN', info: { partners : [a,b]} }) => ({name, partners : [a,b]})

  console.log(getInfo(organisationGoogle))
  console.log(getInfo(organisationCompany))
Ответить с цитированием
  #5 (permalink)  
Старый 02.08.2019, 11:04
Интересующийся
Отправить личное сообщение для Трудяга Посмотреть профиль Найти все сообщения от Трудяга
 
Регистрация: 30.07.2019
Сообщений: 19

Спасибо)
Ответить с цитированием
  #6 (permalink)  
Старый 02.08.2019, 11:35
Интересующийся
Отправить личное сообщение для Трудяга Посмотреть профиль Найти все сообщения от Трудяга
 
Регистрация: 30.07.2019
Сообщений: 19

Похожая задачка, но непонятно как сделать для этого всего функцию, был бы просто массив или объект другое дело(

Используя rest оператор и деструктуризацию, создать функцию, которая принимает любое количество аргументов и возвращает объект, содержащий первый аргумент и массив из остатка:

func('a', 'b', 'c', 'd') →
{
first: 'a',
other: ['b', 'c', 'd']
}
Ответить с цитированием
  #7 (permalink)  
Старый 02.08.2019, 11:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

Трудяга,
const  func = (first, ...other)  => ({first, other});
  console.log(func('a', 'b', 'c', 'd'))
Ответить с цитированием
  #8 (permalink)  
Старый 02.08.2019, 11:52
Интересующийся
Отправить личное сообщение для Трудяга Посмотреть профиль Найти все сообщения от Трудяга
 
Регистрация: 30.07.2019
Сообщений: 19

спасибо

Последний раз редактировалось Трудяга, 02.08.2019 в 12:15.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает присваивание сложением batcave Общие вопросы Javascript 2 23.11.2015 12:37
JS Яндекс.Карт - alert() работает, а присваивание переменной - нет, подскажите Vova_Sidorov Общие вопросы Javascript 1 06.09.2014 11:43
FF: присваивание option в <select> klev2004 Общие вопросы Javascript 6 13.04.2012 01:57
Составное присваивание evgh Общие вопросы Javascript 1 13.12.2011 17:58
Как реализовать присваивание в цикле? pine Общие вопросы Javascript 7 25.02.2011 00:08