Javascript 如何使用forEach将数组中的字符串转换为数字?
我试图对数组的内容求和,如下所示: var cardsBen=[10,2] var cardsAmy=[4,10] 当我使用for循环时,它是有效的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
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);