За последние 24 часа нас посетили 16811 программистов и 1647 роботов. Сейчас ищут 913 программистов ...

не удаляется элемент массива

Тема в разделе "JavaScript и AJAX", создана пользователем ??? Соловьев Е ш326, 19 мар 2013.

  1. Код (Text):
    1.  
    2. function biT() {
    3.     location.hash = mass_history[mass_history.length-1];
    4.     mass_history.pop();
    5.     hash();
    6. }
    вот собственно третья строка не делает то, что ей надобно..(

    Добавлено спустя 16 минут 57 секунд:
    Код (Text):
    1.  
    2. mass_history.splice(length-1);
    такой способ тоже не работает.
    Однако если применять эти методы через веб консоль в мозиле, то оба метода работают... чо за фигняО_о
     
  2. r3l0c

    r3l0c Активный пользователь

    С нами с:
    10 янв 2013
    Сообщения:
    453
    Симпатии:
    4
    arr.length=arr.length-1;
     
  3. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Через оператор delete не получается?
    Массив был записан через ключ значение?

    Код (PHP):
    1. array=['a','b','c','d'];
    2. array.splice(0,2);
    3. alert(array);//c,d 
     
  4. значение length уменьшается, но элемент все равно остается О_о

    Код (Text):
    1.  
    2. var array = new Array();
    3. array.push('ololo');
     
  5. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Тогда вариант с splice подходит...
    Код (PHP):
    1. var array=new Array();
    2. array.push('1','2','3');
    3. alert(array); //1,2,3
    4. array.splice(0,1);
    5. alert(array); //2,3* 
    Может еще быть такое:

    Код (PHP):
    1. var array=[]; //new Array() тоже работает
    2. array['k1']='val1';
    3. array['k2']='val2';
    4. delete array['k1'];
    5. for(var i in array) {
    6.     alert(array[i]); //val2
    7. } 
     
  6. r3l0c

    r3l0c Активный пользователь

    С нами с:
    10 янв 2013
    Сообщения:
    453
    Симпатии:
    4
    не вдавался в подробности =). Я предварительно последнему элементу пробовал присваивать null и undefined %). А вот просто обрезать массив не пробовал)

    Добавлено спустя 54 секунды:
    хотя смотря какой js движок используется. Может там length это просто переменная, а не метод ;)
     
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    console.log() помогает заглянуть внутре