Javascript Can';t通过节点在控制台中运行简单代码

Javascript Can';t通过节点在控制台中运行简单代码,javascript,node.js,Javascript,Node.js,我用JS编写了简单的代码 const a = [1, 2, [3, 4, [5, 6]]]; console.log(a.flat()); 我有这样的错误 console.log(a.flat()); ^ TypeError: a.flat is not a function 我通过node运行代码 node test.js 我需要安装一些软件包吗?我正在开发macOS。看起来像是Array。在nodejs(v10)中没有flat 啊,是的,仅v11+版本-请参阅兼

我用JS编写了简单的代码

const a = [1, 2, [3, 4, [5, 6]]];

console.log(a.flat());
我有这样的错误

console.log(a.flat());
          ^

TypeError: a.flat is not a function
我通过node运行代码

node test.js

我需要安装一些软件包吗?我正在开发macOS。

看起来像是
Array。在nodejs(v10)中没有flat


啊,是的,仅v11+版本-请参阅兼容性表:

您很可能有一个过时的Node.JS版本-如图所示,您需要Node.JS 11或更高版本

从下载Node.JS的最新版本

如果无法使用/获取最新版本,则可以使用适用于多个嵌套级别的:

function flattenDeep(arr1) {
   return arr1.reduce((acc, val) => Array.isArray(val) ? acc.concat(flattenDeep(val)) : acc.concat(val), []);
}

您正在使用哪个版本的节点?试试
node-version
。flat
对JS来说相对较新-你的节点版本是什么?表示您需要Node 11或更高版本。应将您的Node js版本升级到最新版本,或至少升级到LTS。我现在有版本10.15。谢谢。下次我将检查MDN上节点的兼容性。