Discuss / JavaScript / Homework

Homework

Topic source

One:

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

Two:

 return arr.map(function(s){
  return s.substring(0,1).toUpperCase() + s.substring(1).toLowerCase();
 });

竹子叶子

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

为什么“s[i] * 1”,要乘以1呢?只增加s[i]不是一样吗?

_Lone1y

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

javascript是弱类型语言,不乘1会让解释器认为这是一个字符而不是数字.其他的答案中,减0的操作也是一样的道理.

练习一:

var num=1;  
return arr.reduce(function (x, y) {
num=x; 
num*=y;
return num;
});

练习二:

function IsNum(x){return eval(x);};
var sp=s.split("").map(IsNum);

return sp.reduce(function (x, y) {
    return x * 10 + y;
});

练习三:

var ary = [];
arr.reduce(function(prev, next) {
    prev[next] = next.replace(/^(\w)(\w+)/, function(v, v1, v2)
    {return v1.toUpperCase() + v2.toLowerCase()});

    ary.push(prev[next]);
    return prev;

}, {});
    return ary;

  • 1

Reply