所以,
我知道可以在对象上创建动态键。
const foo = 'bar';
const obj = {
[foo]: 'this is bar',
};
但是可以通过变量值引用对象。例如,如果我们有3个对象:
const obj1 = {}
const obj2 = {}
const obj3 = {}
还有一个保存其名称的数组
const objects = ['obj1', 'obj2', 'obj3'];
我们能否遍历那些名称并引用其对象。这行不通:
objects.forEach(obj => Object.assign(obj, { extended: true }));
但是这会objects.forEach(obj => Object.assign(eval(obj),{扩展:true}));
但是Mozilla的文档状态为“ 永远不要使用eval!”]
const obj1 = {id: 1}
const obj2 = {id: 2}
const obj3 = {id: 3}
var objects = ['obj1', 'obj2', 'obj3'].map(element => element = [element]);
console.log('objects : ', objects)
const objNames = ['obj1', 'obj2', 'obj3' ]
let objects = [];
for(let i = 0; i < objNames.length; i++){
let tempObj = {};
tempObj[objNames[i]] = {extended:true}
objects.push(tempObj);
}