当前位置: 首页 > 知识库问答 >
问题:

为什么“return”与“console.log()”不一样[重复]

刘焱
2023-03-14

因此,基本上,我只是尝试将test数组中可被3整除的元素添加100并打印出test数组。我不明白的是,当我在函数中使用console.log(test)时,它会打印出满足条件的数组,即100被添加到可被3整除的元素中,但当我在函数之外使用它时,它不会。为什么会这样?并且有没有一种方法可以在函数外打印出满足条件的测试数组?我刚刚开始学习javascript,所以我有点初学者。

var test = [12, 929, 11, 3, 199, 1000, 7, 1, 24, 37, 4,
    19, 300, 3775, 299, 36, 209, 148, 169, 299,
    6, 109, 20, 58, 139, 59, 3, 1, 139
];

test.forEach(function(test){
    if(test % 3 === 0){
        test+=100;
    }
    console.log(test);//prints out test array if condition met
});

//console.log(test); //doesn't print test array with if condition met????

共有1个答案

充运浩
2023-03-14

foreach方法不直接修改原始数组,但回调函数可以修改它。回调随元素、索引和数组本身一起传递。

var test = [12, 929, 11, 3, 199, 1000, 7, 1, 24, 37, 4,
    19, 300, 3775, 299, 36, 209, 148, 169, 299,
    6, 109, 20, 58, 139, 59, 3, 1, 139
];

test.forEach(function(item, index, test){
    if(item % 3 === 0){
        test[index] = item+=100;
    }
});

console.log(test);
 类似资料:
  • 可能的重复: console.dir 和 console.log 有什么区别? 我最近了解到 的存在。 在浏览了MDN之后,我并没有清楚地理解它和< code>console.log之间的真正区别。它们都显示相同的输出(但是< code >。dir显示一些属性),是这样吗? 调试/开发时应该使用哪个函数? 编辑:我刚刚发现了一个回答我想法的现有问题:console.dir和console.log有

  • 问题内容: 一直有人告诉我,在调试应用程序时,JavaScript的方法优于简单的使用方法。为什么是这样?有没有一个很好的例子,有人可以指出我哪里是更好的选择? 问题答案: 正在阻止 在非调试环境中不容易被抑制 通常可以很好地格式化对象并允许遍历它们 日志记录语句通常具有交互式的代码指针,该代码发出了日志记录语句 您一次只能查看一个以上的消息 可以通过直观的格式设置不同的日志记录级别

  • 问题内容: 有什么用? 请通过代码示例说明如何在JavaScript中使用它。 问题答案: 它不是jQuery功能,而是用于调试的功能。例如,您可以在发生某些情况时将某些内容记录到控制台。例如: 然后你会看到在Firebug的“控制台”选项卡(或其他工具的控制台- 例如Chrome的Web检查)时,您需要点击按钮。 由于某些原因,控制台对象可能不可用。然后,您可以检查它是否有用-这很有用,因为在部

  • 我在一个重试场景中工作(与http出站网关相关)。重试逻辑工作得很好,但是我的不重试逻辑看起来有一个bug。 也就是说,我期望的是,当我第一次配置endpoint以获得HTTP400状态时,永远不会重试,但看起来这不起作用。 我对永不重试场景的逻辑是这样的: CustomRetryPolicy如下所示:

  • 我编写了一个名为“dateutils”的静态类,这里是一个名为“parsedate(String)”的静态方法,它将使用一些模式将字符串转换为日期。默认时区为亚洲/上海(我在中国) 并将其传递给方法timeZone.setDefault(timeZone);并使用SimpleDateFormat来协调字符串。匹配的模式应该是“EEE,dd MMM yyyy HH:MM:SS ZZZ”,这里有三个测

  • 考虑浮点数0.644696875。让我们用Java和C把它转换成八位小数的字符串: 结果:0.64469688 自己试试吧:http://tpcg.io/oszC0w 结果:0.64469687 自己试试吧:http://tpcg.io/fQqSRF 为什么最后一个数字不同? 数字0.644696875不能精确地表示为机器号。它表示为分数2903456606016923/4503599627370