
获得徽章 0
- ["1", "2", "3"].map(parseInt) 为什么是[1, NaN, NaN]?
map()函数给parseInt()传了三个参数 (element, index, array),而parseInt需要两个参数 (val, radix) , radix表示数字的基数介于2 ~ 36 之间,为0是默认为十进制,所以传入的第三个数组参数被忽略,传入的情况如下:
parseInt("1", 0, ["1", "2", "3"]);
//默认为十进制,结果为1
parseInt("2", 1, ["1", "2", "3"]);
//1不属于[2,36],所以返回NaN
parseInt("3", 2, ["1", "2", "3"]);
// 因为二进制里面,没有数字3,导致出现超范围的radix赋值和不合法的进制解析,所以结果为NaN
所以map()返回每次函数调用的结果组成的数组,即[1, NaN, NaN]
同理:["9", "1", "1","2", "3", "6"].map(parseInt)应该是[9, NaN, 1, 2, 3, NaN],["9", "1", "11","201"].map(parseInt)为[9, NaN, 3, 19]。展开评论1 - 看别人写文章背景色很好看,四四方方的网格图,找了老半天没找到,原来是代码实现的,把代码分享给大家
background-image: linear-gradient(90deg, rgba(50,0,0,.1) 5%, rgba(0,0,0,0) 5%), linear-gradient(180deg, rgba(50,0,0,.1) 5%, rgba(0,0,0,0) 5%);
background-size: 20px 20px;
background-position: center center;
background-position-x: center;
background-position-y: center;展开1034