Javascript зацикливается только через определенные свойства массива.Как? - PullRequest
0 голосов
/ 12 июня 2010

Например, если я сохраняю массив ссылок через идентификатор, подобный этому:

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

    channel_boards[misc.channel_id] = $('<div class="channel" channel_id="'+misc.channel_id+'"></div>').appendTo('#board');
}

А затем я перебираю массив, чтобы найти требуемую ссылку.Я также перебираю неопределенные свойства.Возможно ли зацикливаться только через определенные свойства?

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');}       
    }
}

Может быть, я должен изменить способ хранения ссылок?Например, через объект, но как я смогу найти правильную ссылку по номеру идентификатора.

1 Ответ

1 голос
/ 12 июня 2010

Звучит так, будто вам лучше использовать объект для хранения ссылок

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];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...