Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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_Loops - Fatal编程技术网

Javascript仅通过数组的已定义属性循环。怎么用?

Javascript仅通过数组的已定义属性循环。怎么用?,javascript,loops,Javascript,Loops,例如,如果我通过id保留引用数组,如下所示: if(typeof channel_boards[misc.channel_id] == 'undefined') { channel_boards[misc.channel_id] = $('<div class="channel" channel_id="'+misc.channel_id+'"></div>').appendTo('#board'); } if(通道板类型[misc.channel\u id]

例如,如果我通过id保留引用数组,如下所示:

if(typeof channel_boards[misc.channel_id] == 'undefined') {

    channel_boards[misc.channel_id] = $('<div class="channel" channel_id="'+misc.channel_id+'"></div>').appendTo('#board');
}
if(通道板类型[misc.channel\u id]=“未定义”){
通道板[其他通道板id]=$('').appendTo(''通道板');
}
然后我在数组中循环寻找所需的引用。我也在循环未定义的属性。是否可以仅通过定义的属性进行循环

for(i=0;i<channel_boards.length;i++)
{
    if(channel_boards[i] != undefined)
    {
        if(channel_boards[i].attr('channel_id') != visible) {channel_boards[i].addClass('hidden_board');}
        else {channel_boards[i].removeClass('hidden_board');}       
    }
}

for(i=0;i听起来您最好使用对象来存储引用

var channel_boards = {};
var channel_id = 1;
// add property
channel_boards["channel_" + channel_id] = ......

// enumerate properties
for (var key in channel_boards) {
    if (channel_boards.hasOwnProperty(key) {
        channel_boards[key].attr(......
    }
}

// delete property
delete channel_boards["channel_" + channel_id];

该死的我很笨:)谢谢,只需要添加前缀。:)不需要前缀,任何可以转换为字符串的东西都可以(包括数字)。这样你就可以逃脱
。[channel\u id]