Javascript 显示不在浏览器中工作的对象数组
我想创建一个对象数组,并在满足某些条件时显示属性的特定列表 当我将下面的代码打印到控制台或使用Javascript 显示不在浏览器中工作的对象数组,javascript,arrays,object,Javascript,Arrays,Object,我想创建一个对象数组,并在满足某些条件时显示属性的特定列表 当我将下面的代码打印到控制台或使用document.write时,它满足了我的需要 var people = [{ firstName: 'John', lastName: 'Doe', age: 23, },{ firstName: 'Jane', lastName: 'Doe', age: 53, }] for(i = 0; i < people.l
document.write
时,它满足了我的需要
var people = [{
firstName: 'John',
lastName: 'Doe',
age: 23,
},{
firstName: 'Jane',
lastName: 'Doe',
age: 53,
}]
for(i = 0; i < people.length; i++){
if(people[i].age < 65){
document.write(people[i].firstName + ' ' +
people[i].lastName + ' has printed to document. <br>');
}
}
有人能给我解释一下为什么所有项目都使用document.write来显示吗?
当使用document.getElementById
?时,只有最后一项出现,问题在这一行:
result = 'Only ' + people[i].firstName + ' ' +
people[i].lastName + ' is printed to document. Why?';
因为您正在将消息字符串分配给result
变量。由于您处于循环
,因此结果
变量将只保留最后一个值
您必须concat
将消息发送到result
变量
for(i = 0; i < people.length; i++){
if(people[i].age < 65){
result += 'Only ' + people[i].firstName + ' ' +
people[i].lastName + ' is printed to document. Why?';
}
}
for(i = 0; i < people.length; i++){
if(people[i].age < 65){
result += 'Only ' + people[i].firstName + ' ' +
people[i].lastName + ' is printed to document. Why?';
}
}
result += `Only ${people[i].firstName} ${people[i].lastName} is printed to document. Why?`;