本篇文章要為大家介紹forEach()、Array.map()和Array.filter()的用法。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有幫助。
Array.forEach()
forEach()方法為每個陣列元素呼叫一次函數(回調函數)。 【相關課程推薦:JavaScript影片教學】
<!DOCTYPE html> <html> <meta charset="utf-8"> <title>JavaScript Array.forEach()</title> <body> <h2>JavaScript Array.forEach()</h2> <p>为每个数组元素调用一次函数。</p> <p id="demo"></p> <script> var txt = ""; var numbers = [45, 4, 9, 16, 25]; numbers.forEach(myFunction); document.getElementById("demo").innerHTML = txt; function myFunction(value, index, array) { txt = txt + value + "<br>"; } </script> </body> </html>
請注意,此函數有3個參數:
● 元素值
# ● 元素索引
● 陣列本身
上面的範例只使用value參數。這個範例可以重寫為:
<!DOCTYPE html> <html> <meta charset="utf-8"> <title>JavaScript Array.forEach()</title> <body> <h2>JavaScript Array.forEach()</h2> <p>为每个数组元素调用一次函数。</p> <p id="demo"></p> <script> var txt = ""; var numbers = [45, 4, 9, 16, 25]; numbers.forEach(myFunction); document.getElementById("demo").innerHTML = txt; function myFunction(value) { txt = txt + value + "<br>"; } </script> </body> </html>
Array.map()
map()方法透過對每個陣列元素執行函數來建立新數組。 map()方法是不執行沒有值的陣列元素的函數。 map()方法不會更改原始陣列。
此範例將每個陣列值乘以2:
<!DOCTYPE html> <html> <meta charset="utf-8"> <title>JavaScript Array.map()</title> <body> <h2>JavaScript Array.map()</h2> <p>通过对每个数组元素执行函数来创建新数组。</p> <p id="demo"></p> <script> var numbers1 = [45, 4, 9, 16, 25]; var numbers2 = numbers1.map(myFunction); document.getElementById("demo").innerHTML = numbers2; function myFunction(value, index, array) { return value * 2; } </script> </body> </html>
請注意,此函數有3個參數:
● 元素值
●元素索引
● 數組本身
當回呼函數只使用value參數時,可以省略索引和數組參數:
<!DOCTYPE html> <html> <body> <h2>JavaScript Array.map()</h2> <p>通过对每个数组元素执行函数来创建新数组。</p> <p id="demo"></p> <script> var numbers1 = [45, 4, 9, 16, 25]; var numbers2 = numbers1.map(myFunction); document.getElementById("demo").innerHTML = numbers2; function myFunction(value) { return value * 2; } </script> </body> </html>
#Array.filter( )
filter()方法建立一個新數組,其中包含傳遞測試的數組元素。此範例從值大於18的元素建立新陣列:
<!DOCTYPE html> <html> <meta charset="utf-8"> <title>JavaScript Array.filter()</title> <body> <h2>JavaScript Array.filter()</h2> <p>使用通过测试的所有数组元素创建一个新数组。</p> <p id="demo"></p> <script> var numbers = [45, 4, 9, 16, 25]; var over18 = numbers.filter(myFunction); document.getElementById("demo").innerHTML = over18; function myFunction(value, index, array) { return value > 18; } </script> </body> </html>
請注意,函數有3個參數:
● 元素值
● 元素索引
# ● 數組本身
<!DOCTYPE html> <html> <meta charset="utf-8"> <title>JavaScript Array.filter()</title> <body> <h2>JavaScript Array.filter()</h2> <p>使用通过测试的所有数组元素创建一个新数组。</p> <p id="demo"></p> <script> var numbers = [45, 4, 9, 16, 25]; var over18 = numbers.filter(myFunction); document.getElementById("demo").innerHTML = over18; function myFunction(value) { return value > 18; } </script> </body> </html>
本文來自 js教學 欄目,歡迎學習!
以上是forEach()、Array.map()和Array.filter()怎麼用? (程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!