如何解决nodejs javascript中的`...`错误

Che*_*ack 3 javascript arrays json node.js

我是新手NodeJS。这是代码:

const a = [
    {
        wa_id: 1,
        wa_property_id: 'p1',
        wa_view_name: 'ram',
        wa_view_id:1
    },
    {
        wa_id: 1,
        wa_property_id: 'p1',
        wa_view_name: 'sam',
        wa_view_id:'v2'
    },
    {
        wa_id: 1,
        wa_property_id: 'p2',
        wa_view_name: 'kam',
        wa_view_id:'v3'
    },
    {
        wa_id: 2,
        wa_property_id: 'p5',
        wa_view_name: 'pri',
        wa_view_id:'v4'
    },
    {
        wa_id: 1,
        wa_property_id: 'p3',
        wa_view_name: 'ste',
        wa_view_id:'v5'
    },
];

var result = a.reduce((acc,rec) =>{
//if result object doesn't contain key for wa_id - add new id key
if(!(Object.keys(acc).includes(rec.wa_id.toString())))
{
  return {...acc, [rec.wa_id]: {[rec.wa_property_id]:{[rec.wa_view_id]:rec.wa_view_name}}}
}
//if result id object doesn't contain key for property - add new property key
if(!(Object.keys(acc[rec.wa_id]).includes(rec.wa_property_id.toString())))
{
    // acc[rec.wa_id] = {...acc[rec.wa_id],[rec.wa_property_id]:[rec.wa_view_name] }
    acc[rec.wa_id] = {...acc[rec.wa_id],[rec.wa_property_id]:{[rec.wa_view_id]:rec.wa_view_name} }
  return acc
}
//otherwise add new value to array of properties
acc[rec.wa_id][rec.wa_property_id][rec.wa_view_id] = rec.wa_view_name
return acc
},{})

console.log("Output: ",result)
Run Code Online (Sandbox Code Playgroud)

我收到以下错误。下面的错误图像,

在此处输入图片说明

它正在在线上工作Javascript Code Editor。但是在我的系统中,它显示了上述错误。在互联网上搜索后,我才知道我的nodejs不支持...如何使它支持。我使用的是最新Node JS版本(我的节点 js 版本:v12.16.1)。帮我解决一些问题。

(base) paulsteven@smackcoders:~/data-filters/flax2.0/flax_back_end$ node -v
v12.16.1
Run Code Online (Sandbox Code Playgroud)

Nir*_*tel 5

你必须配置你的 babel 脚本。

Step1:使用安装模块

npm install --save-dev babel-plugin-transform-object-rest-spread.

第二步:在你的 babel 配置文件中添加这个

"plugins": [["transform-object-rest-spread", { "useBuiltIns": true }]]