简体   繁体   English

如何构造项目数组以创建对象数组

[英]How to structure array of items to create an array of objects

My server expects an object like the following:我的服务器需要一个如下所示的对象:

{
    "name":"test",
    "detail":[
        {"iddetail":1},
        {"iddetail":2}
    ]
}

In the frontend I have a control that takes multiple details:在前端,我有一个需要多个细节的控件:

<v-autocomplete
   v-model="items">
</v-autocomplete>

As my server expects:正如我的服务器所期望的那样:

 "detail":[
        {"iddetail":1},
        {"iddetail":2}
    ]

But my frontend returns:但我的前端返回:

items = [1,2]

I do the following:我执行以下操作:

data.items.map(function(x){
   data.detail.push({iddetail:x})
});

That works, but the question is whether it can be done in a simpler and more efficient way.这是可行的,但问题是是否可以以更简单、更有效的方式完成。

const items = [1,2];
const data = {
   name: '...',
   detail: items.map( i => ({iddetail:i}) )
};

And of course, it's always more convenient to have similar format between api and front code but small conversion is good enough当然,在 api 和前端代码之间使用类似的格式总是更方便,但小的转换就足够了

不确定,但也许这个

data.detail = items.map((x) => ({iddetail:x}));

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM