javascript - 如何访问 API 内部的第二层
问题描述
我有一个如下所示的 API:
{
"id": 749,
"firstName": "Ishna",
"lastName": "Willis",
"email": "Mawfly@awgawggwagov",
"phone": "(162)932-3460",
"adress": {
"streetAddress": "7006 Sed Ave",
"city": "Colfax",
"state": "WI",
"zip": "71085"
},
"description": "{lorem|32"
},
我对这个 API 进行升序和降序排序。
function sortInfo(e) {
const column = e.target.dataset.column;
const order = e.target.dataset.order;
let changeData = e.target;
if(order === 'desc') {
changeData.setAttribute('data-order', 'asc');
searchResult.fetchResult().then(response => {
response.sort((a,b) => a[column] > b[column] ? 1 : -1);
buildTable(response)
})
} else {
changeData.setAttribute('data-order', 'desc');
searchResult.fetchResult().then(response => {
response.sort((a,b) => a[column] < b[column] ? 1 : -1);
buildTable(response)
})
}
}
如果我按姓名或姓氏排序,效果很好,但是,我还需要按州专门排序。我有一个 data 属性,但即使我将它设置为 adress.state 时,它也不会工作。有没有办法重构此代码以访问 address.state?
解决方案
我建议创建单独的函数来按地址排序,这样就可以更轻松地处理数据,而无需在当前函数中添加大量 if。
我可以考虑的另一种方法是将对象展平以进行排序,然后您将能够按所有对象属性进行排序并带回原始结构。
推荐阅读
- c# - 有什么方法可以通过 onclick onclick on partial view button in asp.net mvc 更改主布局的类或样式
- java - 具有公共字段而不是访问器的休眠实体
- excel - 具有多个条件的日期过滤器 (XlDynamicFilterCriteria)
- google-custom-search - Google CustomSearch 的个性化结果
- java - 寻找带有数据库教程的 Java 多线程客户端-服务器聊天应用程序
- regression - 组内和组间二元比较
- sql - 如何将数据列表插入 Azure SQL/SQL Server 中的单列行?
- css - 包含块是如何确定的
- python - 从 numpy 数组中保存 jpg 图像的转换是什么?
- excel - Excel VBA将指定的工作表集复制到新工作簿/从副本中排除工作表