2014-01-29 3 views
0

Я читаю книгу о JS, и я застрял в одном из упражнений.Изучение инструкции JavaScript - for-in с макс.

Я написал вход для отображения свойств браузера.

for (var i in navigator) { 

    document.getElementById('divResult').innerHTML += i + ': ' + navigator[i] + '<br />'; 
}; 

Возникает вопрос, как я могу отображать только первые 10 свойств навигатора?

Thnx за то, что помог мне!

+0

написать if, который проверяет, является ли 'i' менее 10 и инкапсулирует ваш внутренний операторHTML внутри него , – stackErr

+0

Если вы знаете, сколько раз вы хотите использовать цикл, используйте цикл 'for', а не' for-in'. – Skwal

+0

Как насчет того, чтобы какая-то переменная подсчитывала экземпляры, вы уже дали вывод и просто остановили вывод, если это число попадает на 10? – Sirko

ответ

1

Вы используете объект, и в отличие от объектов массива не имеют свойства length, которое позволяет вам легко запускать цикл над ними. Есть много способов сделать это, но самый простой способ понять, когда вы изучаете это создать «счетчик» переменной вне выражения и проверить, чтобы увидеть, если это правда:

var counter = 0; 

for (var i in navigator) 
{ 
    if (counter <= 10) 
    { 
     document.getElementById('divResult').innerHTML += i + ': ' + navigator[i] + '<br />'; 
     counter = counter + 1; 
    } 
}; 

Есть другие способы вызвать выражение, чтобы остановить, как уже упоминалось выше, но это (для меня) был самый простой способ думать о том, когда я начал

1

Приращение счетчика, выйти из цикла, когда она попадает 10

var i = 0; 
for (var k in navigator) { 
    i++; 
    document.getElementById('divResult').innerHTML += i + ', ' + k + ': ' + navigator[k] + '<br />'; 
    if (i === 10) 
     break; 
}; 
Смежные вопросы