Деструктурирующее присваивание
Только начинаю осваивать 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] |
function getInfo(o) { console.log('Name: %s\nPartners: %s', o.name||'Unknown', o.info.partners.slice(0, 2).join(' ')) } [‘Vlad’, ‘Olga’ - нельзя! |
<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> |
:write:
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)) |
:blink: Спасибо)
|
Похожая задачка, но непонятно как сделать для этого всего функцию, был бы просто массив или объект другое дело(
Используя rest оператор и деструктуризацию, создать функцию, которая принимает любое количество аргументов и возвращает объект, содержащий первый аргумент и массив из остатка: func('a', 'b', 'c', 'd') → { first: 'a', other: ['b', 'c', 'd'] } |
Трудяга,
const func = (first, ...other) => ({first, other}); console.log(func('a', 'b', 'c', 'd')) |
спасибо;)
|
Часовой пояс GMT +3, время: 11:56. |