PIPIONE
您可以使用reduce创建这样的函数来在任何级别设置嵌套数组元素。const rootArray = []function set(arr, index, value) { index.reduce((r, e, i, a) => { if (!r[e]) { if (a[i + 1]) r[e] = [] } else if (!Array.isArray(r[e])) { if (a[i + 1]) { r[e] = [r[e]] } } if (!a[i + 1]) { if (Array.isArray(r)) { r[e] = value } } return r[e] }, arr)}set(rootArray, [1, 2], 'foo');set(rootArray, [1, 1, 2], 'bar');set(rootArray, [1, 2, 2], 'baz');console.log(JSON.stringify(rootArray))