ФорумПрограммированиеJavaScript → Удалить элемент из середины массива?

Удалить элемент из середины массива?

  • AlexB

    Сообщения: 4290 Репутация: N Группа: в ухо

    Spritz 29 марта 2010 г. 10:23

    Ну понятно, можно путем перебора и переписывания в другой массив. А как-нибудь по изящней?
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 29 марта 2010 г. 11:19, спустя 55 минут 6 секунд

    AlexB, что значит "Удалить элемент из середины массива"?
    по ключу ?
    высчитать тот который "по серединке" и удалить ?
    если в массиве 6 эл-ов, то какой из них в середине ?

    зы: я не совсем понял вопрос
  • AlexB

    Сообщения: 4290 Репутация: N Группа: в ухо

    Spritz 29 марта 2010 г. 11:24, спустя 5 минут 19 секунд

    По ключу
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 29 марта 2010 г. 11:29, спустя 5 минут 12 секунд

    unset($arr[$key]) ?
  • AlexB

    Сообщения: 4290 Репутация: N Группа: в ухо

    Spritz 29 марта 2010 г. 11:35, спустя 6 минут 14 секунд

    NRG, ты в какой разделе форума щас это написал?
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 29 марта 2010 г. 11:39, спустя 3 минуты 59 секунд

    ой, сори, туплю, не увидел в каком разделе тема
    Спустя 138 сек.
    тогда так
    myArray.splice(key, 1);
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 29 марта 2010 г. 11:43, спустя 3 минуты 41 секунду


    NRG, ты в какой разделе форума щас это написал?
    delete hash[key];
    Спустя 32 сек.
    но при for(i in ..) он вроде будет присутствовать в виде нула или тп, а так да, слайс поможет но это не удаление а рекреате
    Сапожник без сапог
  • AlexB

    Сообщения: 4290 Репутация: N Группа: в ухо

    Spritz 29 марта 2010 г. 11:46, спустя 3 минуты 22 секунды


    delete hash[key];
    Спустя 32 сек.
    но при for(i in ..) он вроде будет присутствовать в виде нула или тп, а так да, слайс поможет но это не удаление а рекреате
    Ну вот и я про тоже. Еще length не меняется сам …
    Получается по сути корректного способа нет? Или все-таки есть какая-то фишка?
  • NRG

    Сообщения: 4761 Репутация: N Группа: в ухо

    Spritz 29 марта 2010 г. 11:56, спустя 9 минут 46 секунд

    но w3cschools кагбэ говорит нам
    The splice() method adds and/or removes elements to/from an array, and returns the removed element(s).

    Note: This method changes the original array!
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 29 марта 2010 г. 15:54, спустя 3 часа 57 минут 45 секунд



    delete hash[key];
    Спустя 32 сек.
    но при for(i in ..) он вроде будет присутствовать в виде нула или тп, а так да, слайс поможет но это не удаление а рекреате
    Ну вот и я про тоже. Еще length не меняется сам …
    Получается по сути корректного способа нет? Или все-таки есть какая-то фишка?
    ты изменяешь то массив или хеш ?
    Сапожник без сапог
  • krasun

    Сообщения: 1370 Репутация: N Группа: Джедаи

    Spritz 29 марта 2010 г. 16:19, спустя 24 минуты 44 секунды

    phpdude, а разве в js есть разница между массивом и хешем?
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 29 марта 2010 г. 16:21, спустя 2 минуты 35 секунд

    Ты о списке и словаре? :)
    adw/0

Пожалуйста, авторизуйтесь, чтобы написать комментарий!