Как получить объект из двух массивов?

268
09 декабря 2017, 09:57

В методе приходит два массива array1(id1...idn) array 2(aelem1...elemn).

Как из них составить объект новый вида

Obj = {
  array1[I]: array2[j]
}

Например

Obj = {
   Id1: elem1,
   Id2: elem2,
   Id3: elem3,
   ...
}
Answer 1

var arr1 = ["id1", "id2", "id3"]; 
var arr2 = ["elem1", "elem2", "elem3"]; 
var obj = {}; 
for(var i = 0; i < arr1.length; i++) { 
	obj[arr1[i]] = arr2[i]; 
} 
console.log(obj);

Answer 2

Для разнообразия

function Fu_0001(_arr, _markerKey){
    if(_arr.length){
        this[(_markerKey || "") + _arr.length] = _arr.pop()
        this.constructor.apply(this, Array.prototype.slice.call(arguments));
    }
}
console.log(new Fu_0001(["elem1", "elem2", "elem3"],"Id"))
Answer 3

var keys = ['foo', 'bar', 'baz']; 
var values = [11, 22, 33] 
 
var result = {}; 
keys.forEach((key, i) => result[key] = values[i]); 
console.log(result);

Answer 4
var arr1 = ["id1", "id2", "id3"];
var arr2 = ["elem1", "elem2", "elem3"];
var obj = arr1.reduce(function(map, x, idx){ map[x] = arr2[idx]; return map; }, {});
READ ALSO
спрятать ссылку средствами javascript

спрятать ссылку средствами javascript

Требуется спрятать ссылку от поисковых систем, с помощью javascriptС целью более разумного распределения веса на странице

251
VueJS watch отрабатывает дважды

VueJS watch отрабатывает дважды

К примеру есть несколько свойств и вотчер который отслеживает изменение в одном из них, вроде этого

195
Формирование модального окна

Формирование модального окна

Здравствуйте, есть вызов модального окна в attachmenttpl cms DLE Как сделать чтобы при вызове фон размывался и затемнялся?

243
Vue 2 + Babel + Browserify + Gulp

Vue 2 + Babel + Browserify + Gulp

Пробовал много разных вариантов собрать проект Vue с помощью Gulp в связке с Browserify и Babel

309