Map
入门。
jshell> Arrays.asList("1", "10", "100").stream().map(Integer::parseInt).collect(Collectors.toList())
$1 ==> [1, 10, 100]
放弃?
> ['1', '10', '100'].map(parseInt)
[ 1, NaN, 4 ]
进阶!
JavaScript 的map会将三个变量扔给函数:当前值,当前 index,和整个数组,也就是说
arr.map(func);
等同于
arr.map((value, index, array) => func(value, index, array));
而parseInt有两个参数:字符串string和基数radix。
1=>parseInt('1', 0),0作为基数时实际是使用默认的十进制,所以结果是110=>parseInt('10', 1),1无法作为基数,所以结果是NaN100=>parseInt('100', 2), 基数为 2,所以是二进制,而二进制的100就是十进制的4。