返回函数中循环的所有结果(JavaScript)
我想循环一个函数中的对象数组 问题是,当我使用return时,它只返回第一个结果,在本例中是返回函数中循环的所有结果(JavaScript),javascript,arrays,function,for-loop,return,Javascript,Arrays,Function,For Loop,Return,我想循环一个函数中的对象数组 问题是,当我使用return时,它只返回第一个结果,在本例中是Olaf Kranz,但我想返回所有的名字和姓氏,如: Olaf Kranz Mark Alien Cindy Sunsi Anna Pitter Piet Schmitz var allInfo=[ {姓名:“奥拉夫”,姓氏:“克兰兹”,年龄:33}, {姓名:“马克”,姓氏:“外星人”,年龄:21}, {姓名:“Cindy”,姓氏:“Sunsi”,年龄:65}, {姓名:“安
Olaf Kranz
,但我想返回所有的名字和姓氏,如:
Olaf Kranz
Mark Alien
Cindy Sunsi
Anna Pitter
Piet Schmitz
var allInfo=[
{姓名:“奥拉夫”,姓氏:“克兰兹”,年龄:33},
{姓名:“马克”,姓氏:“外星人”,年龄:21},
{姓名:“Cindy”,姓氏:“Sunsi”,年龄:65},
{姓名:“安娜”,姓氏:“皮特”,年龄:20},
{姓名:“皮特”,姓氏:“施密茨”,年龄:29}
];
函数getAllFirstAndLastnames(){
对于(i=0;i
当您返回时,它会立即终止函数-您只需要进行一次迭代。改为添加到HTML字符串。还要确保对HTML使用
,而不是\n
:
var allInfo=[{name:“奥拉夫”,lastname:“克兰兹”,年龄:33},{name:“马克”,lastname:“外星人”,年龄:21},{name:“辛迪”,lastname:“桑西”,年龄:65},{name:“安娜”,lastname:“皮特”,年龄:20},{name:“皮特”,lastname:“施密茨”,年龄:29};
函数getAllFirstAndLastnames(){
让htmlString='';
for(设i=0;i”;
}
返回htmlString;
}
write(getAllFirstAndLastnames())代码>减少怎么样
var allInfo=[
{姓名:“奥拉夫”,姓氏:“克兰兹”,年龄:33},
{姓名:“马克”,姓氏:“外星人”,年龄:21},
{姓名:“Cindy”,姓氏:“Sunsi”,年龄:65},
{姓名:“安娜”,姓氏:“皮特”,年龄:20},
{姓名:“皮特”,姓氏:“施密茨”,年龄:29}
];
函数getAllFirstAndLastnames(){
返回allInfo.reduce(函数(str,item){
返回str+=item.name+“”+item.lastname+“
”
}, "")
};
write(getAllFirstAndLastnames())代码>这里要做的是一个映射操作:获取一个包含一种类型数据的数组,并希望将其转换为另一种类型信息的数组。在本例中,您有一个描述人(名字、姓氏和年龄)的对象数组,并且希望将其转换为一个全名字符串数组。这正是它的用途
将人员数组映射到名称数组后,可以使用将所有条目拼接到单个字符串中
例如:
var allInfo=[
{姓名:“奥拉夫”,姓氏:“克兰兹”,年龄:33},
{姓名:“马克”,姓氏:“外星人”,年龄:21},
{姓名:“Cindy”,姓氏:“Sunsi”,年龄:65},
{姓名:“安娜”,姓氏:“皮特”,年龄:20},
{姓名:“皮特”,姓氏:“施密茨”,年龄:29}
];
//将人员对象数组映射到名称字符串数组
var allNames=allInfo.map(函数(人){
返回person.name+“”+person.lastname;
});
//写出所有名称的字符串,用换行符分隔
document.write(allNames.join(“
”)
。。。str+=name+“”…
只需要是。。。str+name+“”…
因为我们并不真正关心设置,不相关的部分看起来会分散注意力。如果可能,最好将它们压缩成一行;-)