挑战每日一题,慢慢提升自己。
[‘1’, ‘2’, ‘3’].map(parseInt) what & why?
parseInt
parseInt()
函数解析一个字符串参数,并返回一个指定奇数的整数。
|
|
string
是要被解析的值,如果参数不是一个字符串,则将其转换为字符串(使用ToString
抽象操作)。字符串开头的空白符将会被忽略。
radix
是一个介于2和36之间的整数,表示上述字符串的基数,默认为10,返回一个整数或者NAN
map
map()
方法创建一个新数组,其结果是改数组中的每个元素都调用一个提供的函数返回结果
|
|
我们可以看到callback
回调函数需要是哪个参数,我们通常只使用第一个参数。
currentValue
是callback数组中正在处理的当前元素。index
是可选的,是callback数组中正在处理的当前元素的索引。array
可选,是callback map方法被调用的数组。
事例
|
|
对于每个迭代map
, parseInt()
传递两个参数: 字符串和基数,所以实际执行的代码如下
|
|
从排序数组中删除重复项
给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。
不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。
示例 1:
示例 2:
说明:
为什么返回数值是整数,但输出的答案是数组呢?
请注意,输入数组是以“引用”方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。
你可以想象内部操作如下:
答案