JavaScript陣列常用方法2
阿新 • • 發佈:2018-11-11
1.forEach()方法列出每個元素
<button onclick="numbers.forEach(myFunction)">點我</button> <p id="demo"></p> <script> demoP = document.getElementById("demo"); var numbers = [4, 9, 16, 25]; function myFunction(item, index) { demoP.innerHTML = demoP.innerHTML + "index[" + index + "]: " + item + "<br>"; } </script>
輸出
index[0]: 4
index[1]: 9
index[2]: 16
index[3]: 25
var data=[1,2,3,4,5,6];
var sum=0;
data.forEach(function(v){//其中的v就是陣列的值 123456
sum+=v;})
document.write(sum+"<br>");//打印出來是21
data.forEach(function(o,p,q){//分別對應:陣列元素,元素的索引,陣列本身
q[p]=o+1;
})
document.write(data);
注意:forEach無法在所有元素都傳遞給呼叫的函式之前終止(而for迴圈卻有break方法),如果要提前終止,必須把forEach放在try塊中,並能丟擲一個異常。如果forEach()呼叫的函式丟擲foreach.break異常,迴圈會提前終止:
function foreach(a,b,c){
try{
a.forEach(b,c);
}catch(e){
if(e===foreach.break)return;
else throw e;
}
}
foreach.break=new Error("StopIteration");
}
2.indexOf()方法
indexOf() 方法可返回陣列中某個指定的元素位置。
var fruits = ["Banana", "Orange", "Apple", "Mango"]; var a = fruits.indexOf("Apple");
輸出 2
該方法將從頭到尾地檢索陣列,看它是否含有對應的元素。開始檢索的位置在陣列 start 處或陣列的開頭(沒有指定 start 引數時)。如果找到一個 item,則返回 item 的第一次出現的位置。開始位置的索引為 0。
如果在陣列中沒找到指定元素則返回 -1。
提示如果你想查詢字串最後出現的位置,請使用 lastIndexOf() 方法。