Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在此特定结构中创建JSON数组_Javascript_Angular - Fatal编程技术网

Javascript 如何在此特定结构中创建JSON数组

Javascript 如何在此特定结构中创建JSON数组,javascript,angular,Javascript,Angular,这是数组格式[{“name”:“Rose”,“number”:“+919224512555”},{“name”:“smith”,“number”:“+919755224”}]我从我的角度表单中得到,它有一个分别带有列名称和列编号的动态表 我想把上面提到的数组转换成下面提到的格式来存储在数据库中 "name": [ { "first_name": "Rose", "formatted_name": "Rose"

这是数组格式
[{“name”:“Rose”,“number”:“+919224512555”},{“name”:“smith”,“number”:“+919755224”}]
我从我的角度表单中得到,它有一个分别带有列名称和列编号的动态表

我想把上面提到的数组转换成下面提到的格式来存储在数据库中

"name": [
            {
                "first_name": "Rose",
                "formatted_name": "Rose",
            },
            {
                "first_name": "smith",
                "formatted_name": "Smith",
            },
        ] ,          


"phones": [
            {
                "phone": "+919224512555",
                "type": "HOME"
            },
            {
                "phone": "+91975555224",
                "type": "HOME",
            }
        ],        

我使用angular进行前端开发,使用laravel进行后端开发,下面的代码应该可以帮助您重新构造JSON对象

const req_body = [
    { name:"Rose", number:"+919224512555" },
    { name:"smith", number:"+91975555224"}
]

const restrutured_body = { 
    name: [], 
    phone: [] 
};

req_body.forEach((item) => {
    restrutured_body.name.push({
        first_name: item.name,
        formatted_name: item.name
    });

    restrutured_body.phone.push({
        phone: item.number,
        type: 'HOME'
    });
});

console.log(restrutured_body);

我想这可能是更好的方法

const data = [
  { name: "Rose", number: "+919224512555" },
  { name: "smith", number: "+91975555224" },
]

const mapped = {
    "name": data.map((item) => ({
        first_name: item.name,
        formatted_name: item.name, // do your own formatting here
    })),
    "phone": data.map((item) => ({
        phone: item.number,
        type: item.number, // do your own processing here
    }))
}

console.log(mapped)

希望它对您有益

您可以使用
Array\reducer
const arr=[{“name”:“Rose”,“number”:“+919224512555”},{“name”:“smith”,“number”:“+919755224”}];
const res=arr.reduce((a,{name,number})=>{
a、 name=a.name | |[];
a、 name.push({first_name:name,格式化的_name:name});
a、 电话;
a、 phone.push({phone:number,type:'HOME'});
返回a;
},{})

log(res)
示例-您必须循环原始数组并逐个处理每个条目。或者,如果你更先进一点,你可以使用减速机。