理解javascript中forEach函数语句的语法

理解javascript中forEach函数语句的语法,javascript,arrays,foreach,Javascript,Arrays,Foreach,我现在正在处理forEach语句,这里有一段代码成功地执行了我正在处理的内容,但我不理解一条特定的语句。我没有写这段代码 let test = [10, 12, 14, 15, 16, 18]; test.forEach(function(num, index, array) { if (num % 3 === 0) { array[index] = num += 100; // <- This is the line of code that I am confounded

我现在正在处理forEach语句,这里有一段代码成功地执行了我正在处理的内容,但我不理解一条特定的语句。我没有写这段代码

let test = [10, 12, 14, 15, 16, 18];

test.forEach(function(num, index, array) {
  if (num % 3 === 0) {
    array[index] = num += 100; // <- This is the line of code that I am confounded by
  }
});
console.log(test);
let test=[10,12,14,15,16,18];
test.forEach(函数(num、索引、数组){
如果(数值%3==0){

数组[index]=num+=100;//以下是您正在寻找的解决方案:

我认为
array[index]=num+=100;
并不奇怪

首先,
num+=100
将当前数字加上100,最后将其分配给
array[index]

下面是代码的简化版本

let test = [10, 12, 14, 15, 16, 18];

test.forEach(function(num, index, array) {
  if (num % 3 === 0) {
    num = num + 100;    // Adding 100 to old value (identical to num += 100)
    array[index] = num; // I do't think this is a weird code now
  }
});
console.log(test);

希望这会有所帮助,谢谢….

以下是您正在寻找的解决方案:

我认为
array[index]=num+=100;
并不奇怪

首先,
num+=100
将当前数字加上100,最后将其分配给
array[index]

下面是代码的简化版本

let test = [10, 12, 14, 15, 16, 18];

test.forEach(function(num, index, array) {
  if (num % 3 === 0) {
    num = num + 100;    // Adding 100 to old value (identical to num += 100)
    array[index] = num; // I do't think this is a weird code now
  }
});
console.log(test);

希望这会有所帮助,谢谢….

如果数字是3的倍数,则将该索引处的数字增加100。例如12是3的倍数。这将导致12+100=120。
num+=100
num=num+100
的缩写。如果数字是3的倍数,则将该索引处的数字增加100。例如12是的倍数3.这将导致12+100=120。
num+=100
num=num+100
的简写。感谢您的评论,我感到困惑的主要部分是数组[index]=num,我相信我对forEach语句的理解是不够的。我在MDN文档中看到函数的索引/数组部分是可选的,但是我真的不明白为什么这段代码是用array[index]编写的=num,如果这两个选项确实是可选的。谢谢again@ndanvers我理解你的疑问。根据我的理解,如果你想在数组元素上执行任何操作,那么你可以使用索引和数组,但如果你不在数组上做任何修改,那么这些参数是可选的。在MDN文档中有很多示例,请看o您将清楚地了解到我想说的内容。@n但我提到的一些场景中,索引和数组参数是可选的。1)如果你想打印数组元素2)如果你想将数组元素复制到另一个数组中非常感谢你的评论shrilang你已经帮了很多忙:)@n如果你满意,你可以标记这个答案。谢谢你的评论shrilang,我感到困惑的主要部分是数组[索引]=num,我相信我对forEach语句的理解是不够的。我在MDN文档中看到函数的索引/数组部分是可选的,但是我真的不明白为什么这段代码是用array[index]编写的=num,如果这两个选项确实是可选的。谢谢again@ndanvers我理解你的疑问。根据我的理解,如果你想在数组元素上执行任何操作,那么你可以使用索引和数组,但如果你不在数组上做任何修改,那么这些参数是可选的。在MDN文档中有很多示例,请看o如果你想打印数组元素2)如果你想将数组元素复制到另一个数组中非常感谢你的评论,你已经帮了很多忙:)@n如果你满意的话,@n如果你想打印数组元素我能记下这个答案。