javascript - 如何在 JS 中动态创建对象键?
问题描述
我试图在构造对象时动态映射键,它没有将 ID 创建为键。
main.js
const data = [
{
"ID":"Bellaire",
"Name":"Bellaire",
"Address": "1st Ave"
},
{
"ID":"Bellaire",
"Name":"Bellaire",
"Address": "1st Ave"
},
{
"ID":"Champions Forest",
"Name":"Champions Forest",
"Address": "2nd Ave"
}
]
function test(data,id){
const filterData = data.filter(e => {
if(e.ID === id) {
return true;
}
});
const finalResponse = {
filterData[0].ID: ["other Details"]
}
return finalResponse;
}
console.log(test(data,"Bellaire"));
预期产出
[ { "Bellaire": ["other Details"] } ]
解决方案
由于filterData[0].ID
返回一个字符串并将其设置为键,因此您只需将其包装为[filterData[0].ID]
:
const finalResponse = {
[filterData[0].ID] : ["other Details"]
}
演示:
const data = [{ID:"Bellaire",Name:"Bellaire",Address:"1st Ave"},{ID:"Bellaire",Name:"Bellaire",Address:"1st Ave"},{ID:"Champions Forest",Name:"Champions Forest",Address:"2nd Ave"}];
function test(data, id) {
const filterData = data.filter(e => {
return e.ID === id
});
const finalResponse = {
[filterData[0].ID] : ["other Details"]
}
return finalResponse;
}
console.log(test(data, "Bellaire"));
推荐阅读
- php - 在 MySQL Query 中返回所有 wows、mached 和 unmatched
- rxjs - 如果在throttleTime 超时期间触发事件,则在超时完成后重播最后一个事件并再次开始超时
- python - 复制python文件中的最后一行并在添加新行之前对其进行修改
- ios - 为什么 AWSCognitoCredentialsProvider.getIdentityId().continueWith(block:) 不运行它的块?
- react-native - 当状态/道具改变时,反应原生动画部分列表跳到顶部
- azure - 同一 Azure 资源组项目中的多个逻辑应用
- swift - 如何让 App-to-Per-App VPN 在 MAC OSX 上运行?
- python - 计算每个 bin 中 numpy ndarray 的最大值
- android - 从 CameraPreview 获取图像
- javascript - .NET Core ViewModel 中的 IFormFile 属性导致 AJAX 请求停止