我可以根据变量设置 Javascript 对象键吗,例如循环索引?
Can I set Javascript object keys based on a variable, e.g index of a loop?
我在一个数组上循环,每次迭代都从 API 中获取数据。
我想使用 res.json()
将循环的所有迭代中的数据从我的快速服务器传递到浏览器,因此我想创建一个对象,其中包含每个 API 的数据对象调用,以及将根据返回的内容创建的一些其他键值对。
例如
在循环索引 0:
artist0:
{
data: 'data',
moreData: 'more-data'
}
在循环索引 1 上:
artist1:
{
data: 'data',
moreData: 'more-data'
}
等等
我会使用数组,但其中一个调用(随机)会产生另一个键值对,
例如:
correctAnswer: 'a_url.com'
这将由较早的 API 调用之一随机生成,因此我无法使用其数组索引在另一端获取它。
我需要密钥 'correctAnswer',所以我还需要 API 数据的每个对象来标识它来自哪个 API 调用。
小问题:我可以根据变量命名键吗?
一如既往,非常感谢您的帮助:-)
你可以通过不将艺术家直接放在对象中来解决这个问题,就像这样,在对象的单个属性中使用数组:
{
"artists": [
{
"data": "data",
"moreData": "more-data"
},
{
"data": "data",
"moreData": "more-data"
}
],
"correctAnswer": 3
}
或者,如果您真的想要一个动态密钥,您可以使用
{
[`artist${artistIndex}`]: {'data': 'data'}
}
这可能对您有所帮助
“ES6 将‘ComputedPropertyName’定义为对象文字语法的一部分,这有助于使用变量作为键。在 ES6 中,可以通过将表达式放在方括号中来动态分配对象键”
我在一个数组上循环,每次迭代都从 API 中获取数据。
我想使用 res.json()
将循环的所有迭代中的数据从我的快速服务器传递到浏览器,因此我想创建一个对象,其中包含每个 API 的数据对象调用,以及将根据返回的内容创建的一些其他键值对。
例如
在循环索引 0:
artist0:
{
data: 'data',
moreData: 'more-data'
}
在循环索引 1 上:
artist1:
{
data: 'data',
moreData: 'more-data'
}
等等
我会使用数组,但其中一个调用(随机)会产生另一个键值对, 例如:
correctAnswer: 'a_url.com'
这将由较早的 API 调用之一随机生成,因此我无法使用其数组索引在另一端获取它。
我需要密钥 'correctAnswer',所以我还需要 API 数据的每个对象来标识它来自哪个 API 调用。
小问题:我可以根据变量命名键吗?
一如既往,非常感谢您的帮助:-)
你可以通过不将艺术家直接放在对象中来解决这个问题,就像这样,在对象的单个属性中使用数组:
{
"artists": [
{
"data": "data",
"moreData": "more-data"
},
{
"data": "data",
"moreData": "more-data"
}
],
"correctAnswer": 3
}
或者,如果您真的想要一个动态密钥,您可以使用
{
[`artist${artistIndex}`]: {'data': 'data'}
}
这可能对您有所帮助
“ES6 将‘ComputedPropertyName’定义为对象文字语法的一部分,这有助于使用变量作为键。在 ES6 中,可以通过将表达式放在方括号中来动态分配对象键”