Как сделать из двух массивов . Обьект с обьектами

Как сделать из двух масиивов . Обьект с обьектами такого вида ? Дано два массива.

let arr1 = ['Scott', 'Esh' , 'Mike'];

let arr2 = ['Malk', 'Martin' , 'Grant'];

Сделать обьект такого вида .

let all = {

    0:{
        name:Scott,
        surname:Malk,
    }

    1:{
        name:Esh,
        surname:Martin,
    }

    2:{
        name:Mike,
        surname:Grant,
    }   
};

Ответы (2 шт):

Автор решения: Алексей Шиманский

Есть объект obj

  • Берём обычный цикл for (не for...in и не for...of)

  • Организовываем цикл со счётчиком от 0 до длины массива (любого из представленных)

  • На каждой итерации в объект с ключом i (т.е. obj[i]) кладём объект такого типа:

    {
      name: XXX
      surname: YYY
    }
    

    где XXX - значение из массива arr1 по ключу i, а YYY - значение из массива arr2 по ключу i

→ Ссылка
Автор решения: Andrei

Можно Вот так это сделать:

const arr1 = ['Scott', 'Esh', 'Mike'];

const arr2 = ['Malk', 'Martin', 'Grant'];

function create_obj(arr1, arr2) {

  if (arr1.length != arr2.length)
    return "Длина массивов не совпадает...";

  const result = {};

  for (let i = 0, len = arr1.length; i < len; ++i) {

    let obj = {};
    obj['name'] = arr1[i];
    obj['surname'] = arr2[i];

    result[i] = obj;
  }

  return result;
}


console.log(create_obj(arr1, arr2));

→ Ссылка