Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.08.2010, 19:13
Аватар для Bogdan808
Интересующийся
Отправить личное сообщение для Bogdan808 Посмотреть профиль Найти все сообщения от Bogdan808
 
Регистрация: 20.08.2010
Сообщений: 21

вопрос по методу pop()
Тут у меня такая ситуация, я рассмотрел метод pop.
Как я понял он возвращает последнее значение массива и удаляет его.
По идее метод length должен нам вернуть количество элементов массива на единицу меньше. Но у мну усиленно выбивает на 2 больше исходного значения! Вопрос, чо за фигня?
<script type="text/javascript">
arr = ["go","stop","geemp"]
alert(arr.length)
arrt = arr.pop()
alert(arrt.length)
</script>
Ответить с цитированием
  #2 (permalink)  
Старый 20.08.2010, 19:18
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

arrt - это строка. length у нее 5, потому что в "geemp" 5 букв
Ответить с цитированием
  #3 (permalink)  
Старый 20.08.2010, 19:21
Аватар для Bogdan808
Интересующийся
Отправить личное сообщение для Bogdan808 Посмотреть профиль Найти все сообщения от Bogdan808
 
Регистрация: 20.08.2010
Сообщений: 21

то есть я получаю количество символов из строки, а как же мне получить количество оставшихся элементов массива?
Ответить с цитированием
  #4 (permalink)  
Старый 20.08.2010, 19:25
Аватар для Bogdan808
Интересующийся
Отправить личное сообщение для Bogdan808 Посмотреть профиль Найти все сообщения от Bogdan808
 
Регистрация: 20.08.2010
Сообщений: 21

хотя понял, нужно просто загнать все это добро в отдельную переменную,
таким вот образом
b = a.pop()
z = a.length
alert(z)

Спасибо
Ответить с цитированием
  #5 (permalink)  
Старый 20.08.2010, 19:30
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Сообщение от Bogdan808
а как же мне получить количество оставшихся элементов массива?
А проверить length самого массива религия не позволяет?
var arr = ["go","stop","geemp"]
var arrt = arr.pop()
alert(arr.length)
Ответить с цитированием
  #6 (permalink)  
Старый 20.08.2010, 19:34
Аватар для Bogdan808
Интересующийся
Отправить личное сообщение для Bogdan808 Посмотреть профиль Найти все сообщения от Bogdan808
 
Регистрация: 20.08.2010
Сообщений: 21

это не религия мешает, а дефицит знаний и опыта ))
Ответить с цитированием
  #7 (permalink)  
Старый 20.08.2010, 19:38
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

К слову, в этом и смылс метода pop(), что он уменьшает длину массива. Почувствуй разницу:
var arr1 = ["go","stop","geemp"], arr2 = ["go","stop","geemp"]

delete arr1[arr1.length-1]
arr2.pop()

alert(arr1.length)
alert(arr2.length)
Ответить с цитированием
  #8 (permalink)  
Старый 20.08.2010, 19:47
Аватар для Bogdan808
Интересующийся
Отправить личное сообщение для Bogdan808 Посмотреть профиль Найти все сообщения от Bogdan808
 
Регистрация: 20.08.2010
Сообщений: 21

ну я уже понял где была моя ошибка, я не учел последовательность выполнения кода... думаю это типичная ошибка новичков.
Да разницу увидел, еще раз спасибо за бесценный опыт
Ответить с цитированием
  #9 (permalink)  
Старый 20.08.2010, 22:59
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

http://alljs.ru/articles/array/manipulations.html
Ответить с цитированием
  #10 (permalink)  
Старый 21.08.2010, 17:54
Аватар для Bogdan808
Интересующийся
Отправить личное сообщение для Bogdan808 Посмотреть профиль Найти все сообщения от Bogdan808
 
Регистрация: 20.08.2010
Сообщений: 21

Сообщение от Kolyaj Посмотреть сообщение
http://alljs.ru/articles/array/manipulations.html
Интересная статья, спасибо, почитал
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
У меня есть вопрос rzhsasha Firefox/Mozilla 29 08.12.2010 18:48
Вопрос о циклических ссылках (JavaScript -> Dom -> JavaScipt) BlueIce Events/DOM/Window 10 17.02.2010 21:58
Вопрос про ООП, цепочки прототипов. Shaci Общие вопросы Javascript 5 27.01.2010 14:50
мааленький вопрос по Regexp:) mirniy Общие вопросы Javascript 1 22.01.2009 20:47
вопрос по long poll megaswin AJAX и COMET 2 27.05.2008 09:20