javascript 中的數組Array
1.聲明:
var array = new Array( );
可以不用聲明長度,使用時像JAVA中的vector。即使聲明瞭長度,也可以越界使用:
var a = new Array(3); a[3] = 3;
2.一個數組中可以存儲不同類型的數據,像vector。
3.一個數組具有length屬性,表明長度。
4.數組中的delete( )操作只會去掉這個元素,但不會去掉這個位置,也即長度不變。
可以用下面這個函數刪除第N個元素的函數:
5.用Array實現的一棵樹
<HTML>
<HEAD>
<TITLE>Deleting a child object</TITLE>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="JavaScript">
function createDog(name, color) {
var dog = new Array();
dog[0] = name;
dog[1] = color;
return dog;
}
function append(parent, child) {
parent[parent.length] = child;
}
var bo = createDog("bo", "brown");
var boli = createDog("boli", "black and white");
var boy = createDog("boy", "brown");
var bulbul = createDog("bulbul", "brown");
var boni = createDog("boni", "black and white");
var spotty = createDog("spotty", "black and white");
var mary = createDog("mary", "black and white");
append(bo, boli);
append(bo, boy);
append(boli, bulbul);
append(boli, boni);
append(boni, spotty);
append(boni, mary);
function deleteElement(array, n) {
//delete the nth element of array
var length = array.length;
if (n >= length || n<0)
return;
for (var i=n; i<length-1; i++)
array[i] = array[i+1];
array.length––;
}
function navigate(dog, generation) {
var name = dog[0];
for (var i=1; i<generation; i++)
document.write(">>");
document.write(name + "<BR>");
generation++;
for (var j=2; j<dog.length; j++ ) // has descendants
navigate(dog[j], generation);
}
navigate(bo, 1);
deleteElement(boni, 2);
navigate(bo, 1);
</SCRIPT>
</BODY>
</HTML>
function deleteElement(array, n) {
//delete the nth element of array
var length = array.length;
if (n >= length || n<0)
return;
for (var i=n; i<length-1; i++)
array[i] = array[i+1];
array.length––; //有效刪除最後一個元素
}