JavaScript Array forEach() 方法

  • JavaScript Array forEach()方法

    forEach()方法按顺序为数组中的每个元素调用一次提供的函数。
    注意forEach()不会为没有值的数组元素执行函数。
    实例:
    列出数组中的每个项目:
    <button onclick="numbers.forEach(myFunction)">Try it</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>
    尝试一下
  • 浏览器支持

    IE/Edge Chrome FireFox Safari Opera
    方法
    forEach()
    9.0+
    支持
    1.5+
    支持
    支持
  • 语法

    array.forEach(function(currentValue, index, arr), thisValue)
  • 参数值

    参数 描述
    function(currentValue, index,arr) 必需的。 要为数组中的每个元素运行的函数。 函数参数:
    • currentValue - 必需的。 当前元素的值
    • index - 可选的。 当前元素的数组索引
    • arr - 可选的。 当前元素所属的数组对象
    thisValue 可选的。 要传递给要用作“this”值的函数的值。 如果此参数为空,则值“undefined”将作为其“this”值传递
  • 技术细节

    项目 描述
    返回值: undefined
    JavaScript版本: ECMAScript 5
  • 更多例子

    获取数组中所有值的总和:
    <button onclick="numbers.forEach(myFunction)">Try it</button>
    
    <p>Sum of numbers in array: <span id="demo"></span></p>
    
    <script>
    var sum = 0;
    var numbers = [65, 44, 12, 4];
    
    function myFunction(item) {
      sum += item;
      demo.innerHTML = sum;
    }
    </script>
    尝试一下
    将数组中的所有值乘以特定数字:
    <p>Multiply with: <input type="number" id="multiplyWith" value="10"></p>
    <button onclick="numbers.forEach(myFunction)">Try it</button>
    
    <p>Updated array: <span id="demo"></span></p>
    
    <script>
    var numbers = [65, 44, 12, 4];
    
    function myFunction(item, index, arr) {
      arr[index] = item * document.getElementById("multiplyWith").value;
      demo.innerHTML = numbers;
    }
    </script>
    尝试一下