for (var i=0; i<arr.length; i++) {
if (!arr.hasOwnProperty(i)) continue;
// ...
}
for (var i=0, l=arr.length; i<l; i++) {
// ...
}
var l = arr.length;
while (l--) {
// ...
}
arr.hasOwnProperty(i)
? Вы обходите массив последовательно от 0 до arr.length-1, то есть если индексы в массиве от 0 до arr.length-1, то можно не проверять, вы обойдете все элементы, а если индексы проставлены иначе, то вы обойдете не весь массив и ваш код не работает как надо. Такую проверку обычно делают при обходе объекта с помощью for ... in ... // Было
for (var i=0;i<len;i++) {
if (data.Flight.hasOwnProperty(i)) {
// ...
}
}
// Стало
for (var i=0;i<len;i++) if (data.Flight.hasOwnProperty(i)) {
// ...
}
// Было
for (var i=0;i<flights.search_result.Air.length;i++) {
if (flights.search_result.Air.hasOwnProperty(i)) {
// ...
}
}
// Стало
for (var i=0;i<flights.search_result.Air.length;i++) {
if (!flights.search_result.Air.hasOwnProperty(i)) continue;
// ...
}
$(function() {
var time = 20; // Time in seconds
var callback = function() {
alert(time + ' seconds');
};
(function checkTime() {
if (!localStorage) return;
localStorage.userEnter = localStorage.userEnter || new Date().getTime();
if ((new Date().getTime() - localStorage.userEnter) >= time * 1000) {
localStorage.removeItem('userEnter');
callback();
return;
}
setTimeout(checkTime, 5000);
})();
});