Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: удалить последний элемент массива по индексу
 
 автор: psychomc   (07.09.2009 в 17:48)   письмо автору
 
 

for (var i = 0; i < arr.length; i++) 
{                
    if (arr[i] == 5)
    {
        // как удалить arr[i] из массива чтобы length изменилось? функция delete не спасает. slice вообще непонятно что делает.
    }
}     

?

  Ответить  
 
 автор: heed   (07.09.2009 в 21:41)   письмо автору
 
   для: psychomc   (07.09.2009 в 17:48)
 

<script language="php">
var arr = new Array(1,2,3,4,5,6,7,8);
alert(arr);

arr.pop();
// удаление последнего элемента
alert(arr);

alert(arr.slice(34));
// оба параметра slice() отсчитывают позицию от начала массива
</script>

// не забудьте переделать language="php"

  Ответить  
 
 автор: heed   (07.09.2009 в 22:56)   письмо автору
 
   для: psychomc   (07.09.2009 в 17:48)
 

arr.splice(4,2);
удалит два элемента начиная с arr[4]

  Ответить  
 
 автор: psychomc   (08.09.2009 в 10:21)   письмо автору
 
   для: heed   (07.09.2009 в 22:56)
 

попробовал:
arr.splice(4,2);


спасибо, но не помогает, количество элементов массива не изменилось :(

  Ответить  
 
 автор: heed   (08.09.2009 в 11:55)   письмо автору
 
   для: psychomc   (08.09.2009 в 10:21)
 

> количество элементов массива не изменилось

не должно меняться :)
arr.splice(4,2); возвратит массив такой-же как arr , но без двух элементов (если там были arr[4] и arr[5])

  Ответить  
 
 автор: psychomc   (08.09.2009 в 13:16)   письмо автору
 
   для: heed   (08.09.2009 в 11:55)
 

ну а как сделать чтобы менялось?))

просто я не хочу чтобы у меня заново программа перебирала всё количество элементов на каждой итерации......

  Ответить  
 
 автор: psychomc   (08.09.2009 в 13:40)   письмо автору
 
   для: psychomc   (08.09.2009 в 13:16)
 

извини плиз! всё работает как надо, и меняет количество! я ступил, написал
arr.splice[ i,1 ] 
вместо
arr.splice( i,1 )


:)
тема закрыта

  Ответить  
 
 автор: ыыыыыыыы   (08.09.2009 в 13:05)
 
   для: psychomc   (07.09.2009 в 17:48)
 

var s = [1,2,3];
s.pop ();
alert (s);

  Ответить  
 
 автор: psychomc   (08.09.2009 в 13:16)   письмо автору
 
   для: ыыыыыыыы   (08.09.2009 в 13:05)
 

не то

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования