|
<HTML>
<HEAD>
<TITLE> Array 方法全測試</TITLE>
<script src="prototype.js" type="text/javascript"></script>
 <script>
function _each()
 {
var arr = getArr();
// 數組的迭代方法value值,index數組索引,當然名字你可以隨便起
arr.each(function(value,index)
 {
alert("index: " + index + ",value: " + value );
});
}
//得到數組
function getArr()
 {
//div標簽內的值轉換為數組
var arr = $w($('d').outerText);
return arr;
}

function _first()
 {
var arr = getArr();
alert(arr.first());
}

function _last()
 {
var arr = getArr();
alert(arr.last());
}


function _clear()
 {
var arr = getArr();
arr.clear();
alert("已經清除!現在數組大小為:" + arr.size());
}
function _clone()
 {
var arr = getArr();
var arr2 = arr.clone();
alert("源:" + arr + ".copy版本:" + arr2);
}

function _compact()
 {
var arr = getArr();
arr.push(null);
arr.push("");
arr.push(undefined);
alert("壓縮前:" + arr + ".壓縮后:" + arr.compact());
}

function _flatten()
 {
var arr = getArr();
alert(arr.flatten());
}
//將類數組集合轉換為數組
function _from()
 {
var inputs = document.getElementsByTagName("input");
var arr = Array.from(inputs);
alert("轉換前類型:" + typeof inputs + "|轉換后類型:" + arr.constructor);
}

function _indexOf()
 {
var arr = getArr();
if(arr.indexOf('admin') != -1)
 {
//刪掉admin元素
delete arr[arr.indexOf('admin')];
}
//without方法返回一個新的數組(并刪除數組中的指定元素),并不會改變原數組
var arr2 = arr.without(29);
alert(arr + " , " + arr2);
//Returns the debug-oriented string representation of an array.
alert(arr.inspect());
}
</script>
</HEAD>
<BODY>
<div id="d">admin 29 true false abc</div>
<br />
<input type="button" value="迭代" onclick="_each();"/>
<br />
<input type="button" value="第一個" onclick="_first();"/>
<br />
<input type="button" value="最后一個" onclick="_last();"/>
<br />
<input type="button" value="清除" onclick="_clear();;"/>
<br />
<input type="button" value="復制" onclick="_clone();;"/>
<br />
<input type="button" value="壓縮" onclick="_compact();;"/>
<br />
<input type="button" value="平" onclick="_flatten();"/>
<br />
<input type="button" value="轉換" onclick="_from();"/>
<br />
<input type="button" value="其它" onclick="_indexOf();"/>
</BODY>
</HTML>

|