for是大家最常用的,這裡不解釋了。
forEach()和map()兩個方法都是ECMAScript5中Array引進的新方法,主要作用是對數組的每個元素執行一次提供的函數,但是它們之間還是有區別的。
老規矩,先看定義:
Array.prototype.map()
官方解釋:數組映射 不會修改原來的數組
Array.prototype.forEach()
官方解釋:數組遍歷 參數是函數 三個參數 1 是對應的元素 2 是下標 3 是遍歷的數組本身 不會修改原來的數組
for方法:
平時我們前端開發工作中經常會操作數組,遍曆數組是最常用的,我項目組裡面很多新同事一般都是用for循環來遍曆數組,如下:
<script>
var arr=["a","b","c","d"];
for (var i=0;i<arr.length;i++)
{
console.log(arr[i]);
}
</script>
運行結果如下:

forEach方法
下面就看看用forEach怎麼寫:
<script>
var arr = ['a', 'b', 'c', 'd']
arr.forEach(function (val, index, arr)
{
console.log('index:'+index+','+'val:'+val) // val是當前元素,index當前元素索引,arr數組
console.log(arr)
});
</script>
輸出內容如下:

map方法
map可以理解為映射,實際上會產生一個新的數組,直接上代碼:
<script>
var arr=["a","b","c","d"];
var newArray = arr.map(function (value) {
return value+"-1";
});
console.log(newArray)
</script>
輸出新的數組,內容如下:

最後總結一下:for和forEach都用於遍曆數組本身,而map則是生成一個新的數組。
for和forEach區別如下:
for裡面可以加關鍵字continue, break來控制循環,但是forEach只能使用if配合return 語句來控制 ,return true等同於continue, return false等同於break。
如果這篇教程能幫助到各種小夥伴,幫忙轉發一下,後續我會抽時間繼續寫一些基礎教程。
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/274602.html
微信掃一掃
支付寶掃一掃