Создать объект на основе массива?
Конечно, можно написать оптимальнее.
Есть одно негласное правило JS:Определяй структуру объекта в конструкторе и никогда не меняй после! 
Еще хуже добавлять объекту свойства в цикле.
Так будет точно правильнееfunction AObj(arr){
    arr.forEach( v => Object.assign(this, { [v]: objVal } ) );
}
var aObj = new AObj([1,2,3]);
Суть также, без цикла не обойтись:const arr = [1,2,3];
const objVal = { current: 0, deffault: 1 };

const result = arr.reduce((p,c) => {p[c] = objVal; return p;}, {});
// {"1":{"current":0,"deffault":1},"2":{"current":0,"deffault":1},"3":{"current":0,"deffault":1}}