我正在尝试在 NodeJS 中使用 Nullish 合并赋值运算符 (??=),这可能吗?
const setValue = (object, path, value) => {
const indices = {
first: 0,
second: 1
},
keys = path.replace(new RegExp(Object.keys(indices).join('|'), 'g'), k => indices[k]).split('.'),
last = keys.pop();
keys
.reduce((o, k, i, kk) => o[k] ??= isFinite(i + 1 in kk ? kk[i + 1] : last) ? [] : {}, object)[last] = value;
return obj;
}
Run Code Online (Sandbox Code Playgroud)
est.js:9
.reduce((o, k, i, kk) => o[k] ??= isFinite(i + 1 in kk ? kk[i + 1] …Run Code Online (Sandbox Code Playgroud)