Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在数组中迭代,并不是所有的项都显示出来_Javascript_Jquery - Fatal编程技术网

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。每个