Javascript 在数组中迭代,并不是所有的项都显示出来
请参见此处的示例- 对于下面的代码,我认为我可以将所有三个元素都附加到结果中,但我没有。我得到:Javascript 在数组中迭代,并不是所有的项都显示出来,javascript,jquery,Javascript,Jquery,请参见此处的示例- 对于下面的代码,我认为我可以将所有三个元素都附加到结果中,但我没有。我得到: primary-bar 二级-glorp var elements = [{ type: 'secondary', name: 'foo' }, { type: 'primary', name: "bar" }, { type: 'secondary', name: "glorp"
primary-bar
二级-glorp
var elements = [{
type: 'secondary',
name: 'foo'
}, {
type: 'primary',
name: "bar"
}, {
type: 'secondary',
name: "glorp"
}];
var elementItem;
$(elements).each(function () {
if (this.type == 'primary') {
elementItem = this.type + ' - ' + this.name + '<br />';
} else {
elementItem += this.type + ' - ' + this.name + '<br />';
}
});
$('#results').append(elementItem);
var元素=[{
类型:'secondary',
姓名:“富”
}, {
类型:'primary',
名称:“酒吧”
}, {
类型:'secondary',
名称:“glorp”
}];
var元素项;
$(元素)。每个(函数(){
if(this.type=='primary'){
elementItem=this.type+'-'+this.name+'
;
}否则{
elementItem+=this.type+'-'+this.name+'
;
}
});
$(“#结果”).append(elementItem);
所以我想我应该把+=
操作符添加到if条件的第一部分,但是当我这样做时,我得到了:
undefinedsecondary-foo
主杆
二级-glorp
var elements = [{
type: 'secondary',
name: 'foo'
}, {
type: 'primary',
name: "bar"
}, {
type: 'secondary',
name: "glorp"
}];
var elementItem;
$(elements).each(function () {
if (this.type == 'primary') {
elementItem = this.type + ' - ' + this.name + '<br />';
} else {
elementItem += this.type + ' - ' + this.name + '<br />';
}
});
$('#results').append(elementItem);
无论它们在生成时的顺序如何,它们都必须在完成时出现。我确信我遗漏了一些明显的东西,有人能告诉我那是什么吗?elementItem=this.type+'-'+this.name+'
;
elementItem = this.type + ' - ' + this.name + '<br />';
需要:
elementItem = this.type + ' - ' + this.name + '<br />' + elementItem;
elementItem=this.type+'-'+this.name+'
'+elementItem;
否则,如果主项不是第一项,则覆盖它
使用var elementItem=“”初始化它代码>因此它不会将elementItem类型转换为字符串“undefined”
elementItem=this.type+'-'+this.name+'
;
需要:
elementItem = this.type + ' - ' + this.name + '<br />' + elementItem;
elementItem=this.type+'-'+this.name+'
'+elementItem;
否则,如果主项不是第一项,则覆盖它
使用var elementItem=“”初始化它代码>因此它不会将elementItem类型转换为字符串“undefined”
当您到达主类型时,您正在使用=
重置elementItem
变量。尝试将列表中的每个项目追加。通过var elementItem=''
初始化elementItem
var元素=[{
类型:'secondary',
姓名:“富”
}, {
类型:'primary',
名称:“酒吧”
}, {
类型:'secondary',
名称:“glorp”
}];
var elementItem='';
$(元素)。每个(函数(){
if(this.type=='primary'){
elementItem+=this.type+'-'+this.name+'
;
}否则{
elementItem+=this.type+'-'+this.name+'
;
}
});
$(“#结果”).append(elementItem);
当您到达主类型时,您正在使用=
重置elementItem
变量。尝试将列表中的每个项目追加。通过var elementItem=''
初始化elementItem
var元素=[{
类型:'secondary',
姓名:“富”
}, {
类型:'primary',
名称:“酒吧”
}, {
类型:'secondary',
名称:“glorp”
}];
var elementItem='';
$(元素)。每个(函数(){
if(this.type=='primary'){
elementItem+=this.type+'-'+this.name+'
;
}否则{
elementItem+=this.type+'-'+this.name+'
;
}
});
$(“#结果”).append(elementItem);
您可能想要$。每个不是$.fn。每个您可能想要$。每个不是$.fn。每个