【发布时间】:2023-03-02 23:31:01
【问题描述】:
我是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)
我收到以下错误。下面的错误图片,
它正在在线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
【问题讨论】:
-
这是否回答了您的问题stackoverflow.com/questions/56003497/… ?
-
您使用的是哪个版本的 Node?自 8.3.0 起支持对象字面量中的扩展运算符
-
你能显示
node -v的输出吗,仅供参考,你的代码对我来说很好/ -
@Vivek Molkar,我的节点 js 版本:v12.16.1
标签: javascript arrays node.js json