在 Javascript 中,当遍历对象数组时,如何将每个元素的名称发送到控制台?
In Javascript, when looping through an array of objects, how do I send each element's name to the console?
如何在对象数组迭代时将元素的名称(每个对象的名称)输出到控制台?
我在网上搜索过各种帖子和话题,但我找不到这个问题的答案。我可以看到 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array.
的数组的 properties/methods 中也没有任何内容
这是我正在尝试做的一个简化示例:
let card1 = {
question:'1+1?',
answer:'2'
}
let card2 = {
question:'1+2',
answer:'3'
}
let card3 = {
question:'1+3',
answer:'4'
}
let card4 = {
question:'1+4',
answer:'5'
}
let card5 = {
question:'1+5',
answer:'6'
}
let cards = [card1,card2,card3,card4,card5];
cards.forEach(function(card){
console.log(card.name);
console.log(card.question);
console.log(card.answer);
});
这是我的 fiddle 以上内容:
https://jsfiddle.net/JaredHess/arLmnz72/7/
我一直希望有像 card.name
或 card.id
这样的方法(但这些都不存在)。
例如,当它循环到数组中的第一个元素时,我希望它显示card1
,像这样:
card1
"1+1?"
"2"
预先感谢您的帮助。
您可以在数组中定义卡片,而不是将它们定义为单独的变量。
如果您想为每张卡片创建一个自定义 name
属性,那么您当然可以 — 但如果您只想要一个模板名称,例如 "name 1"
、"name 2"
,等等,那么你就不需要在数组中的每个对象中定义名称。相反,您可以使用每张卡片的索引在 map function 中创建和添加名称,如下所示:
const cards = [
{question:'1+1?', answer:'2'},
{question:'1+2', answer:'3'},
{question:'1+3', answer:'4'},
{question:'1+4', answer:'5'},
{question:'1+5', answer:'6'},
].map((card, index) => ({...card, name: `card${index + 1}`}));
cards.forEach(card => console.log(card));
如何在对象数组迭代时将元素的名称(每个对象的名称)输出到控制台?
我在网上搜索过各种帖子和话题,但我找不到这个问题的答案。我可以看到 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array.
的数组的 properties/methods 中也没有任何内容这是我正在尝试做的一个简化示例:
let card1 = {
question:'1+1?',
answer:'2'
}
let card2 = {
question:'1+2',
answer:'3'
}
let card3 = {
question:'1+3',
answer:'4'
}
let card4 = {
question:'1+4',
answer:'5'
}
let card5 = {
question:'1+5',
answer:'6'
}
let cards = [card1,card2,card3,card4,card5];
cards.forEach(function(card){
console.log(card.name);
console.log(card.question);
console.log(card.answer);
});
这是我的 fiddle 以上内容: https://jsfiddle.net/JaredHess/arLmnz72/7/
我一直希望有像 card.name
或 card.id
这样的方法(但这些都不存在)。
例如,当它循环到数组中的第一个元素时,我希望它显示card1
,像这样:
card1
"1+1?"
"2"
预先感谢您的帮助。
您可以在数组中定义卡片,而不是将它们定义为单独的变量。
如果您想为每张卡片创建一个自定义 name
属性,那么您当然可以 — 但如果您只想要一个模板名称,例如 "name 1"
、"name 2"
,等等,那么你就不需要在数组中的每个对象中定义名称。相反,您可以使用每张卡片的索引在 map function 中创建和添加名称,如下所示:
const cards = [
{question:'1+1?', answer:'2'},
{question:'1+2', answer:'3'},
{question:'1+3', answer:'4'},
{question:'1+4', answer:'5'},
{question:'1+5', answer:'6'},
].map((card, index) => ({...card, name: `card${index + 1}`}));
cards.forEach(card => console.log(card));