Discuss / JavaScript / 作业~

作业~

Topic source

风雾15151

#1 Created at ... [Delete] [Delete and Lock User]

第一题:

var arr = [];
var i;
for(i = 0;i < s.length;i++){
    arr.push(s[i] - '0');
}
return arr.reduce(function(x,y){
    return x * 10 + y;
});

第二题:

return arr.map(function(str){
    return str[0].toUpperCase() + str.substring(1).toLowerCase();
});

第三题:

r = arr.map(function(x){
    return x - '0';
});

劉金澤V

#2 Created at ... [Delete] [Delete and Lock User]

第一题: var mulla = arr.reduce(function(x, y) { return x * y; }); return mulla;

Y_耀祖

#3 Created at ... [Delete] [Delete and Lock User]

为什么要这样子写arr.push(s[i] - '0');

风雾15151

#4 Created at ... [Delete] [Delete and Lock User]

因为输入的是字符串,要将字符串转换为数值

Y_耀祖

#5 Created at ... [Delete] [Delete and Lock User]

那为什么用(s[i] + '0')好像就不行了

JavaScript中的‘-’号有一个隐式转换 字符串减去0会把字符串默认转换成数字,这也算个小技巧吧 +号的会把数字默认转换成字符串再进行连接 如;'12234'+0 会变成 ’122340‘

原来如此,谢谢


  • 1

Reply