gpt4 book ai didi

javascript 函数,将数组作为输入,将每个数组元素增加 1 并返回新数组,增加的值不起作用

转载 作者:行者123 更新时间:2023-12-03 07:01:50 25 4
gpt4 key购买 nike

我对 JavaScript 完全陌生。我第一次学习如何编写函数,但我一直坚持这个。请你帮我弄清楚为什么我的 for 循环只在数组的第一个元素上循环,而不在其他元素上循环。

感谢您的帮助。

查看代码:

我正在尝试编写一个函数,该函数将数字数组作为输入,并返回一个新数组,其中包含输入数组中的每个数字,并增加 1。

function incrementEach (myArray) {
var newArray = [];
for (var i = 0; i < myArray.length; i++) {
newArray.push(myArray + 1);
return newArray;
};
};
var nuArray = incrementEach ([23, 34, 56, 67]);
log (nuArray);


The result I get after running this code is: '[24]'

仅增加并打印数组中的第一个元素。我的循环一定有问题,但我无法弄清楚。请帮助我!

最佳答案

您的代码有几个问题:

  1. 在 newArray.push 调用中,您将推送整个数组 + 1,而不是单个项目 + 1。
  2. 您正在循环内返回,这意味着它根本不是循环,并且只运行一次。

这是已修复的代码:

function incrementEach (myArray) {
var newArray = [];
for (var i = 0; i < myArray.length; i++) {
newArray.push(myArray[i] + 1);
};
return newArray;
};
var nuArray = incrementEach ([23, 34, 56, 67]);
log(nuArray);

您还可以使用 map 函数来完成此操作,代码要少得多:

var nuArray = [23, 34, 56, 67].map(function(item) {
return item + 1;
});

关于javascript 函数,将数组作为输入,将每个数组元素增加 1 并返回新数组,增加的值不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37014379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com