Деструктурирующее присваивание
Только начинаю осваивать 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, время: 21:30. |