gpt4 book ai didi

Javascript 将数组中的数字按每个两位数字序列求和

转载 作者:行者123 更新时间:2023-11-30 06:59:06 25 4
gpt4 key购买 nike

我坚持这个练习,最后我会告诉你我的输出是什么,但在练习描述之前,先谢谢你了!

描述:

它接收一个包含数字和字母的数组,并返回经过美化处理的数字。字母保持不变美化过程是通过将一个数字的所有数字相加,将一个数字缩减为一个数字:

123 = 6 because 1+2+3 = 6
9 = 9
9956 = 2 because 9+9+5+6 = 29 -> 2+9 = 11 -> 1+1 = 2
793 = 1 because 7+9+3 = 19 -> 1+9 = 10 -> 1+0 = 1
Example: beautifyNumbers([23,59, 4,'A','b']) returns [5, 5, 4, 'A', 'b']

我的密码:

function beautifyNumbers(array) {

var newArray = [];
array.forEach(function(element) {
// Checks if character is a letter and not a number
if (typeof element == "number") {
var sNumber = element.toString();

for (var i = 0, len = sNumber.length; i < len; i += 1) {
newArray.push(+sNumber.charAt(i));
// The "+" sign converts a String variable to a Number, if possible: +'21.2' equals Number(21.2).
// If the conversion fails, it return NaN.
// El método charAt() de String devuelve el carácter especificado de una cadena:
// var name="Brave new world"; name.charAt(0) => 'B'
}
console.log(newArray);;
} else {
// pushes numbers to the array without making
// any change to them
newArray.push(element);
}
});
// returns the array
return newArray;


}

beautifyNumbers([23, 59, 4, 'A', 'b'])

我收到的输出是 => [2, 3, 5, 9, 4, "A", "b"]

这是求和之前的“上一步”还是我做错了什么?

最佳答案

您好,您可以像我在评论中提到的那样尝试。

function beautifyNumbers(array) {
var newArray = [];
array.forEach(function(element) {
// Checks if character is a letter and not a number
if (typeof element == "number") {
if(element %9 == 0 && element != 0)
newArray.push(9);
else
newArray.push(element%9);
} else {
newArray.push(element);
}
});
return newArray;
}
console.log(beautifyNumbers([1231, 0, 18, 27, 12354, 59, 4, 'A', 'b']))

编辑:感谢@georg 的建议。

关于Javascript 将数组中的数字按每个两位数字序列求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39829725/

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