sai*_*tam 0 javascript arrays json javascript-objects
假设我有一个这样的列表结构:
[
"id1", "01-01-2019", "name1", "€ 5,60",
"id2", "02-01-2019", "name2", "€ 5,70",
"id3", "03-01-2019", "name3", "€ 5,20",
...
]
Run Code Online (Sandbox Code Playgroud)
我想将它转换为具有json对象的列表,如下所示:
[
{
"id": "id1",
"date": "01-01-2019",
"name": "name1",
"value": "€ 5,60"
},
{
"id": "id2",
"date": "02-01-2019",
"name": "name2",
"value": "€ 5,70"
},
{
"id": "id3",
"date": "03-01-2019",
"name": "name3",
"value": "€ 5,20"
},
...
]
Run Code Online (Sandbox Code Playgroud)
在JavaScript中执行此任务的最有效方法是什么?
我使用一个while带有前端断言的简单循环:
console.assert(data.length % 4 === 0); // Or whatever you use for assertions
const result = [];
let i = 0;
while (i < data.length) {
result.push({
id: data[i++],
date: data[i++],
name: data[i++],
value: data[i++]
});
}
Run Code Online (Sandbox Code Playgroud)
实例:
const data = [
"id1", "01-01-2019", "name1", "€ 5,60",
"id2", "02-01-2019", "name2", "€ 5,70",
"id3", "03-01-2019", "name3", "€ 5,20"
];
console.assert(data.length % 4 === 0);
const result = [];
let i = 0;
while (i < data.length) {
result.push({
id: data[i++],
date: data[i++],
name: data[i++],
value: data[i++]
});
}
console.log(result);Run Code Online (Sandbox Code Playgroud)
.as-console-wrapper {
max-height: 100% !important;
}Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
76 次 |
| 最近记录: |