2 回答

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超13個(gè)贊
這有點(diǎn)通用,因?yàn)樗患俣ㄔ词且粋€(gè)名為的全局變量object:
let array = ["lvl1", "lvl2", "lvl3", "key"];
let value = false;
let createObject = (keys, value) => {
let o, obj = o = {};
let lastKey = keys.pop();
keys.forEach(key => o = o[key] = o[key] || {});
o[lastKey] = value;
return obj;
};
let addToObject = (obj, keys, value) => {
let o, copy = o = JSON.parse(JSON.stringify(obj));
let lastKey = keys.pop();
keys.forEach(key => o = o[key] = o[key] || {});
o[lastKey] = value;
return copy;
};
let x = createObject(array, value);
let y = addToObject(x, ['lvl1'], 3);
let z = addToObject(y, ['a', 'b', 'c'], 4);
console.log(x);
console.log(y);
console.log(z);
添加回答
舉報(bào)