Повідомлення створено: 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>.
При этом, к примеру, после выполнения кода
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. При этом попытка выполнить код
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
Повідомлення: 3750
|
"yozhik" wrote:
При этом, к примеру, после выполнения кода
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. При этом попытка выполнить код
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.
|