Discuss
/
JavaScript
/
交作业啦
交作业啦
Topic sourcefor(let i of s){
arr.push(i);
}
arr = arr.map(function(x){
return x-'0';
});
这个代码可以简化为
for(let i of s){
arr.push(i-'0');
}
你对练习2的解答很巧:
var arr = [];
for(let i of s){
arr.push(i-'0');
}
return arr.reduce(function(x,y){
return x*10+y;
});
我的解答是这样的:
var arr = s.split('');
return arr.map(function (x) {
return x.charCodeAt(0) - 48;
}).reduce(function (x, y) {
return x * 10 + y;
}
)
主要差别是在对单个字符所对应的数字值的计算方式上。你用 i-'0', 这个太漂亮了。我解答时,专门去查了ASCII表,最后找到减48合适,但这可读性比你的差很多。
- 1
崔荣荣_snsd
练习2
练习3