1. 程式人生 > >JavaScript陣列常用方法2

JavaScript陣列常用方法2

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() 方法