javascript函数,它将数组作为输入,将每个数组元素增加1,并返回增加值的新数组
javascript function that takes array as input, increases each array element by 1 and returns new array with increased values not working
我对javascript完全陌生。我是第一次学习如何编写函数,我一直被这个问题所困扰。请你帮我弄清楚为什么我的for循环只在数组的第一个元素上循环,而不是在其他元素上循环。
谢谢你的帮助。
参见代码:
我正在尝试编写一个函数,该函数以一个数字数组作为输入,并返回一个新数组,该数组包含输入数组中的每个数字,并加一。
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]'
只有阵列中的第一个元素被增加并打印。我的循环肯定出了问题,但我想不通。请帮帮我!
您的代码有几个问题:
- 在您的newArray.push调用中,您正在推送整个数组+1,而不是单个项+1
- 您在循环中返回,这意味着它根本不是一个循环,只运行一次
这是您的代码和修复到位:
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);
你也可以用更少的代码来使用地图功能:
var nuArray = [23, 34, 56, 67].map(function(item) {
return item + 1;
});
您需要从数组中获取元素:
newArray.push(myArray[i] + 1);
您可能想要
function incrementEach (myArray) {
var newArray = [];
for (var i = 0; i < myArray.length; ++i) {
newArray.push(myArray[i] + 1); // i-th element
}
return newArray; // Return at the end
}
然而,它会像这样更简单:
[23, 34, 56, 67].map(n => n+1);
var arr
function incrementEach (myArray) {
for (var i = 0; i < myArray.length; i++) {
myArray[i] += 1
};
return myArray
};
arr = incrementEach([23, 34, 56, 67]);
log(arr);
.map()
的最佳用例。它创建了一个新数组,其中包含对该数组中的每个元素调用所提供函数的结果。
var increased = [1, 2, 3].map(function(item, index) {
return item + 1;
});
一个函数可能看起来像:
function increaseValues(arr, amount) {
return arr.map(function(item) {
return item + amount;
});
}
// increase array values by 5
increaseValues([1,2,4], 5);
您访问的是数组本身,而不是正在循环的项。
在环路内使用newArray.push(myArray[i] + 1);
而不是newArray.push(myArray + 1);
此外,return
语句应该在for循环之外
演示
相关文章:
- 如何在映射数组中添加换行符
- javascript结合了数组和字典
- 需要帮助设置json数组
- 不能从angular2中的子组件指定父组件中的数组
- 使用JS将数组转换为json对象
- 数组在递归方法中设置为null
- knockoutjs可观察数组
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 将数组从PHP传递到Javascript
- JavaScript数组排序(函数)用于对表行进行排序,而不是排序
- 在函数中添加数组元素的数值
- 无法通过数组映射绑定
- javascript中的数组出错
- 如何使用 node.js 比较两个 json 数组
- Javascript(Angular)从一个对象数组到第二个数组查找值
- 根据id将json数组组合为一个json数组
- 如何通过数组更新角度子范围
- 有没有一种方法可以添加相同的项目val=“0”;4〃;到JavaScript中数组的每个对象
- 在Javascript中转换对象数组
- javascript函数,它将数组作为输入,将每个数组元素增加1,并返回增加值的新数组