Array Power, Part III - DHTML Lab | 8
Array Power, Part III
spliceless insertion
Inserting Elements
With splice( ):
myArray = [0,"cat",true]; myArray.splice(2,0,"dog","mouse");
Without splice( ):
Statement used | myArray becomes | |
1. | myArray = [0,"cat",true]; | [0,"cat",true] |
2. | ind = 2; | |
3. | cnt = 0; | |
4. | insertArray = ["dog","mouse"]; | |
5. | endArray = myArray.slice(ind+cnt); | [0,"cat",true] |
6. | myArray.length = ind; | [0,"cat"] |
7. | for(i=0;i<insertArray.length;i++){ myArray[myArray.length] = insertArray[i]; } | [0,"cat","dog","mouse"] |
8. | for(i=0;i<endArray.length;i++){ myArray[myArray.length] = endArray[i]; } | [0,"cat","dog","mouse",true] |
Step-by-Step
1. myArray is declared.
2. ind is declared to store the position at which we will begin to change myArray.
3. cnt is declared to store the number of elements to remove.
4. a new array is created, insertArray, to store the elements we want to insert into myArray.
5. another array is created, endArray, using slice(). These elements are the ones after the insertion point.
6. myArray, which has yet to be changed, is now truncated, by changing its length property to the value of ind. We now have three arrays:
- myArray, our original array, that now contains only the elements up to the position where elements were to be removed.
- insertArray, the array of elements to insert.
- endArray, the elements from myArray that were positioned after the insertion point.
7. the elements of insertArray are appended to myArray.
8. the elements of endArray are appended to myArray.
Finally, some spliceless insertion and removal of elements.
Produced by Peter Belesis and
All Rights Reserved. Legal Notices.Created: May 16, 2000
Revised: May 16, 2000
URL: https://www.webreference.com/dhtml/column33/4.html