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

func(‘a’, ‘b’, ‘c’, ‘d’) →

{ first: ‘a’, other: [‘b’, ‘c’, ‘d’] }

function descTest(first, ...other)
{
  return {first, other}
}
console.log(descTest('a', 'b', 'c', 'd'));
  1. Организовать функцию getInfo, которая принимает объект вида { name: ..., info: { employees: [...], partners: [ … ] } } и выводит в консоль имя (если имени нет, показывать ‘Unknown’) и первые две компании из массива partners:

const organisation = {

name: 'Google',

info: { employees: [‘Vlad’, ‘Olga’], partners: ['Microsoft', 'Facebook', 'Xing'] }

};

getInfo(organisation); →

Name: Google

Partners: Microsoft Facebook

function getInfo({name = 'Unknown', info: { partners: [partner1, partner2]  }}){
return `organisation: ${name}, partners: ${partner1}, ${partner2}`;
}

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

console.log(getInfo(organisation));
  1. Дан объект:

let user = {

"guid": "dd969d30-841d-436e-9550-3b0c649e4d34",

"isActive": false,

"balance": "$2,474.46",

"age": 30,

"eyeColor": "blue",

"name": "Tameka Maxwell",

"gender": "female",

"company": "ENOMEN",

"email": "tamekamaxwell@enomen.com",

"phone": "+1 (902) 557-3898",

"tags": [

  "aliquip",

  "anim",

  "exercitation",

  "non",

],

"friends": [

  {

    "id": 0,

    "name": "Barber Hicks"

  },

  {

    "id": 1,

    "name": "Santana Cruz"

  },

  {

    "id": 2,

    "name": "Leola Cabrera"

  }

],

};

Используя деструктуризацию получить значения из следующих полей

  1. name, balance, email

  2. из массива tags получить первый и последний элемент

  3. из массива friends получить значение поле name из первого элемента массива

Если какое то из полей не имеет значения то подставить значение по умолчанию.

let user = {

"guid": "dd969d30-841d-436e-9550-3b0c649e4d34",

"isActive": false,

"balance": "$2,474.46",

"age": 30,

"eyeColor": "blue",

"name": "Tameka Maxwell",

"gender": "female",

"company": "ENOMEN",

"email": "tamekamaxwell@enomen.com",

"phone": "+1 (902) 557-3898",

"tags": [

  "aliquip",

  "anim",

  "exercitation",

  "non",

],

"friends": [

  {

    "id": 0,

    "name": "Barber Hicks"

  },

  {

    "id": 1,

    "name": "Santana Cruz"

  },

  {

    "id": 2,

    "name": "Leola Cabrera"

  }

],

};

const {name  = 'Not defined', balance  = 'Not defined', email  = 'Not defined', tags: [ first ]  = 'Not defined', tags: [ ...last ] = 'Not defined', friends: [{name: firstfriend}] } = user;

console.log(name, balance, email, first, last[last.length-1], firstfriend);
  1. С помощью оператора rest, из объекта user (из предыдущей задачи) скопировать в новый массив значение следующих полей tags и friends.
let user = {

"guid": "dd969d30-841d-436e-9550-3b0c649e4d34",

"isActive": false,

"balance": "$2,474.46",

"age": 30,

"eyeColor": "blue",

"name": "Tameka Maxwell",

"gender": "female",

"company": "ENOMEN",

"email": "tamekamaxwell@enomen.com",

"phone": "+1 (902) 557-3898",

"tags": [

  "aliquip",

  "anim",

  "exercitation",

  "non",

],

"friends": [

  {

    "id": 0,

    "name": "Barber Hicks"

  },

  {

    "id": 1,

    "name": "Santana Cruz"

  },

  {

    "id": 2,

    "name": "Leola Cabrera"

  }

],

};

const {tags, friends} = user;
let newArr = [...tags, ...friends];
console.log(newArr);