gpt4 book ai didi

javascript - 在对象数组的开头移动一个元素

转载 作者:行者123 更新时间:2023-11-30 19:53:42 24 4
gpt4 key购买 nike

我有这样的数组格式

response = {
"data": [{
"districts": [{
"id": 1,
"name": "sikkim district",
"statistics": [{
"food saftey": 2,
"food ": 2,
"air pollution": 0
}]
}]
},
{
"districts": [{
"id": 2,
"name": "Bhojpur",
"statistics": [{
"food saftey": 1,
"food ": 1,
"air pollution": 1
}]
}]
}
],

}

要求的格式是

{
"data": [
{
"district": "sikkim district",
"food saftey": 2,
"food ": 2,
"air pollution": 0
},
{
"district": "Bhojpur",
"food saftey": 1,
"food ": 1,
"air pollution": 1
},

],

}

数组格式是动态的,除分区外不断变化并且分区必须在数组的开头。

最佳答案

您可以做的是先将您知道的属性放入列数组中,然后获取其他属性并使用列数组中的顺序循环。

像这样:

Stackblitz

import {
Component
} from '@angular/core';

@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
data = [{
"Bal Vivah": 1,
"Type": 0,
"districts": "East District"
},
{
"Bal Vivah": 1,
"Type": 0,
"districts": "West District"
},
{
"Bal Vivah": 1,
"Type": 0,
"districts": "North District"
}
]

columns: string[] = ["districts"];

constructor() {
// get the columns from the data
if (this.data) {
var dataObject = this.data[0];
for (var property in dataObject) {
if (property != "districts" && dataObject.hasOwnProperty(property)) {
this.columns.push(property);
}
}
}
}
}
<table>
<thead>
<tr *ngFor="let column of columns">
<th>{{column}}</th>
</tr>
</thead>
<tbody>
<ng-container *ngFor="let columnData of data">
<tr *ngFor="let column of columns">
<td>
{{columnData[column]| json}}
</td>
</tr>
</ng-container>
</tbody>
</table>

注意:我将您的数据更改为有效的 json。

关于javascript - 在对象数组的开头移动一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54231846/

24 4 0
文章推荐: javascript - SAPUI5 处理对话框中的输入
文章推荐: c# - Dispose() 是将数据保存到光盘的好地方吗?
文章推荐: javascript - 使用带有 Django 的 Mapbox-gl-js 的不同 map 图钉
文章推荐: javascript - 如何在多个
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com