eval、Map

2017-10-17  本文已影响0人  大大的小小小心愿

二、eval可以将字符串当代码使用
慎用!!! 如果字符串运行时出错,会导致后面的代码都不执行

 console.log(eval("1+2+3+4"));    //打印结果   10,并且为数值型

三、map :数组调用map
map 三个参数:

  var arr = [1,2,3,4].map(function(a,b,c){ ... })
    arr有几个值,就执行几次
    a:每次传入的值
    b:传入值的下标
    c: arr数组

var arr =[1,2,3,4].map(function(a,b,c){
    console.log(a,b,c);
    return a*2;
})
执行结果.png

四、关于map的面试题

console.log([1,2,3,4,5,6,7,8,9,10,11,12,13].map(parseInt));

相当于

([1,2,3,4,5,6,7,8,9,10,11,12,13].map(a,b,c)function(){
  return parseInt(a,b,c);
}
  //parseInt只有两个参数,所以只用到了 a,b

相当于

parseInt(1,0);  //1  也就是10进制
parseInt(2,1);  //undefined
parseInt(3,2);
parseInt(4,3);
parseInt(5,4);
parseInt(6,5);
parseInt(7,6);
parseInt(8,7);
parseInt(9,8);
parseInt(10,9);  //9 (0*1 + 1*9)
parseInt(11,10); //11
parseInt(12,11); //13 (2*1 + 1*11)
parseInt(13,12); //15
 然后打印结果
上一篇 下一篇

猜你喜欢

热点阅读