Ссылки на элементы составного объекта 
		
		
		
		Здравствуйте. 
	Есть массив объектов. Если объект внутри массива обладает нужным свойством, то его надо удалить. Если использую delete, то работает, а если splice, то "не так" работает. Для прохода использую 
for (var i = 0; i < arr.length; i++) {
////////...........
}
но delete, как известно, "оставляет дырки"  | 
	
		
 можно проще сформулировать: 
	
console.clear();
var arr = [1,2,3,4,5,6,7];
for(var i = 0; i < arr.length; i++){
     if ( arr[i] > 4) arr.splice(i, 1);
}
console.log(arr);
результат: [1,2,3,4,6] а как правильно удалить?  | 
	
		
 Luca, 
	for при удалении делают с конца массива, так проще или так 
console.clear();
var arr = [1,2,3,4,5,6,7];
for(var i = 0; i < arr.length; ){
  if ( arr[i] > 4) arr.splice(i, 1);
  else i++
}
console.log(arr);
 | 
	
		
 delete использовать неправильно, он просто затирает пунктик. 
	splice сдвигает хвост массива, и если понадобится удалить много элементов, сложность будет O(N^2) для линейной сложности такой вариант: 
var arr = [1,2,3,4,5,6,7];
for (var p = 0, i = 0, le = arr.length; i < le; ++i) {
  if (!(arr[i] > 4)) {
    arr[p++] = arr[i];
  }
}
arr.length = p;
alert(arr.join(', '));
 | 
	
		
 
var arr = [1,2,3,4,5,6,7];
for(var i = 0; i < arr.length; i++){
     if ( arr[i] > 4) {
     	arr.splice(i, 1);
        i--;
     }
}
console.log(arr);
var arr = [1,2,3,4,5,6,7];
arr = arr.filter(function(item) {
   return !(item > 4); //item <= 4
});
console.log(arr);
 | 
| Часовой пояс GMT +3, время: 10:59. |