我正在尝试在构造不创建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"] } ]
答案 0 :(得分:1)
由于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"));