はじめに
ループしながら、配列内の要素をキーとするオブジェクトを作成する方法を紹介します。
方法
const array = ['key1', 'key2', 'key3',]
const createObj = (array) => {
const obj = new Object();
array.forEach(item => (Object.defineProperty(obj, item, {
enumerable: true, // ループのために必要!
value: 'ここに値'
})));
return obj;
}
console.log(createObj(array));
// {key1: 'ここに値', key2: 'ここに値', key3: 'ここに値'}
オプションとして設定する、enumerable: true
が重要です。
これがないと動きません。
まとめ
配列内の要素をキーとするオブジェクトを作成することができました。