如何在JS中动态创建对象密钥?

问题描述 投票:-1回答:1

我正在尝试在构造不创建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"] } ]
javascript arrays ecmascript-6 filter
1个回答
0
投票
由于filterData[0].ID返回一个字符串,并且为了将其设置为键,您只需要像[filterData[0].ID]那样包装它即可:

const finalResponse = { [filterData[0].ID] : ["other Details"] }

Demo:

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"));
© www.soinside.com 2019 - 2024. All rights reserved.