Лучший способ использовать "для в"
Код, который работал раньше, теперь не работал в цикле for после того, как я добавил enyo.js. Я подозреваю, что когда я использую for(var ls in list)
он проходит через цикл, даже когда длина равна 0. Когда я поставил отлаженную информацию, я обнаружил, что она рассматривает "findIndex" как одно из значений в списке, и переходит в цикл. У меня есть несколько мест, использующих для с в, я хочу найти лучший способ отфильтровать "findIndex" или любые недопустимые индексы, чтобы только правильные элементы попадали в цикл
for(var ls in list)
{
var lin = list[ls].rb ;
}
1 ответ
Если вы перечислите массив, просто используйте обычный for
петля. Обычно это не очень хорошая идея для использования с массивом именно по этой причине, а также потому, что порядок не гарантирован.
Если вы должны использовать for...in
используйте проверку hasOwnProperty:
for (var ls in list)
{
if (list.hasOwnProperty(ls)) {
var lin = list[ls].rb;
// ...
}
}
Конечно, если вас беспокоит только то, есть ли у вас rb
свойство, вы можете просто проверить это:
if (list[ls].rb) {
var lin = list[ls].rb;
}
Или даже:
var lin = list[ls].rb;
if (lin) {
// do whatever you needed to do with lin
}