EnglishУкраїнськаРocсийский
Вход/Новый
В теме нет новых постов

[BugFixed] Странная работа функции splice


Автор Сообщение
Сообщение создано: 29. 12. 2011 [12:13]
yozhik
Алексей Николаев
Создатель темы
Зарегистрирован(а) с: 29.11.2010
Сообщения: 127
Array splice( int beg, int remN, ElTp val1, ElTp val2, ... ); — Вставляет, удаляет или заменяет [b]е[/b]лементы массива. Возвращает исходный массив с изменениями. В первую очередь осуществляется удаление элементов с позиции <beg> и количеством <remN>, а затем вставляются значения <val1> и т.д., начиная с позиции <beg>.

При этом, к примеру, после выполнения кода
JAVASCRIPT
ar = new Array( 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 );
ar = ar.splice( 3, 3 );

на выходе получаем
<TArrayObj>
<int>3</int>
<int>4</int>
<int>5</int>
</TArrayObj>
Хотя, если я правильно понимаю из описания, как раз должны были удалиться элементы с 3 по 5. Т.е. функция ведет себя как slice. При этом попытка выполнить код
JAVASCRIPT
ar = new Array( 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 );
ar = ar.slice( 3, 3 );

приводит к крашу с единственным сообщением в логе Programm result: 139

[Сообщение редактировалось 1 раз(а), в последний раз 29.12.2011 в 12:18.]
Сообщение создано: 29. 12. 2011 [13:23]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3471
"yozhik" wrote:

При этом, к примеру, после выполнения кода
JAVASCRIPT
ar = new Array( 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 );
ar = ar.splice( 3, 3 );

на выходе получаем
<TArrayObj>
<int>3</int>
<int>4</int>
<int>5</int>
</TArrayObj>

Это корректно. Ошибка в описании.

"yozhik" wrote:

slice. При этом попытка выполнить код
JAVASCRIPT
ar = new Array( 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 );
ar = ar.slice( 3, 3 );

приводит к крашу с единственным сообщением в логе Programm result: 139

Исправлено.

Learn, learn and learn better than work, work and work.



1108