Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用forEach将数组中的字符串转换为数字?_Javascript_Arrays - Fatal编程技术网

Javascript 如何使用forEach将数组中的字符串转换为数字?

Javascript 如何使用forEach将数组中的字符串转换为数字?,javascript,arrays,Javascript,Arrays,我试图对数组的内容求和,如下所示: var cardsBen=[10,2] var cardsAmy=[4,10] 当我使用for循环时,它是有效的 for(var i = 0; i < cardsBen.length; i++){ cardsBen[i] = Number(cardsBen[i]); } 我知道这一点,因为当我减少数组时,Ben得到12,Amy得到410 var sumBen = cardsBen.reduce(function(sum, nbr){return s

我试图对数组的内容求和,如下所示:

var cardsBen=[10,2]

var cardsAmy=[4,10]

当我使用for循环时,它是有效的

for(var i = 0; i < cardsBen.length; i++){
  cardsBen[i] = Number(cardsBen[i]);
}
我知道这一点,因为当我减少数组时,Ben得到12,Amy得到410

var sumBen = cardsBen.reduce(function(sum, nbr){return sum + nbr});
var sumAmy = cardsAmy.reduce(function(sum, nbr){return sum + nbr});

原语值不能进行变异。因此,在执行
Number(item)
操作时,必须将其分配回数组,如下所示:

cardsAmy.forEach(function(item, i) {
    cardsAmy[i] = Number(item);
});
您可以在
reduce
中直接执行此操作(无需上述
forEach
代码),如:


原语值不能进行变异。因此,在执行
Number(item)
操作时,必须将其分配回数组,如下所示:

cardsAmy.forEach(function(item, i) {
    cardsAmy[i] = Number(item);
});
您可以在
reduce
中直接执行此操作(无需上述
forEach
代码),如:


您可以使用reduce和隐式转换来使用


您可以使用reduce和隐式转换来使用



请同时添加想要的结果。您认为编号(项目)的结果会发生什么变化?您仍然有编号,不需要编号。您可以使用
+sum++nbr
也请添加想要的结果。
编号(项目)
的结果会发生什么变化?您仍然有编号,不需要
Number
。您可以使用
+sum++nbr
是-就是这样。谢谢3分钟内无法单击复选标记。最佳响应将包括一个初始值,以
减少
。请使用
var cardsBen=[]
再试一次,并查看,,,@RaphaMex的优点!添加了一个初始值。虽然我不认为这是必要的(在本例中),但我只是想学习如何使用所有的数组方法,而不是总是使用for循环。我已经在CodeWars上搜索了数组katas,试图获得一些练习。我认为“下一步”应该是学会将/string方法组合在一起。但是,首先要做的事情。@Janet一旦你很好地理解了它们,把它们结合起来/链接起来就会很自然。祝你好运是的,就是这样。谢谢3分钟内无法单击复选标记。最佳响应将包括一个初始值,以
减少
。请使用
var cardsBen=[]
再试一次,并查看,,,@RaphaMex的优点!添加了一个初始值。虽然我不认为这是必要的(在本例中),但我只是想学习如何使用所有的数组方法,而不是总是使用for循环。我已经在CodeWars上搜索了数组katas,试图获得一些练习。我认为“下一步”应该是学会将/string方法组合在一起。但是,首先要做的事情。@Janet一旦你很好地理解了它们,把它们结合起来/链接起来就会很自然。祝你好运
var sumBen = cardsBen.reduce(function(sum, nbr) { return sum + Number(nbr); }, 0);
//                                                             ^^^^^^^   ^
sum = array.reduce(function (s, v) {
    return s + +v;
}, 0);