EnglishУкраїнськаmRussian
Login/New
Topic with no new replies

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


Author Message
Written on: 29. 12. 2011 [12:13]
yozhik
Алексей Николаев
Topic creator
registered since: 29.11.2010
Posts: 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

[This article was edited 1 times, at last 29.12.2011 at 12:18.]
Written on: 29. 12. 2011 [13:23]
roman
Roman Savochenko
Moderator
Contributor
Developer
registered since: 12.12.2007
Posts: 3742
"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.



5043