Open wingmeng opened 5 years ago
解析:数组中的空元素 (empty 元素) 也会被算到数组长度中
console.log(arr.length); // 4
解析:数组中的 empty 元素不会参与数组项遍历,故只需返回 true 即可过滤掉 empty 元素(而不会牵连 0、NaN、null、undefined、'' 这些)
0
NaN
null
undefined
''
arr = arr.filter(it => true); console.log(arr); // [1, 2, 3]
解析:parseInt 接收 string 和 radix 两个参数,前者是待转换的字符串,后者是进制参考基数,默认是 10。当 parseInt 作为 map 方法的回调函数时,parseInt 的 string 的实参是数组项,radix 的实参是数组索引值,故执行过程如下:
string
radix
parseInt(1, 0); // 1. `radix` 为 0 时会自动转换成 10,故输出 1 parseInt(2, 1); // 2. `radix` 值非法(没有一进制),无法解析,故输出 NaN parseInt(3, 2); // 3. `string` 为 3 ,`radix` 为 2,无法将 3 按二进制解析,故输出 NaN
let arr2 = arr.map(parseInt); console.log(arr2); // [1, NaN, NaN]
var arr3 = arr.concat(arr2); console.log(arr3); // [1, 2, 3, 1, NaN, NaN]
解析:利用 ES6 中的 Set 集合不存在重复项的特点来去重
arr3 = [...new Set(arr3)]; console.log(arr3); // [1, 2, 3, NaN]
优秀
优秀、良好、一般、差劲
// 第 2 题: arr = arr.filter(String); // 或者: arr = arr.filter(Number);
题目:
我的回答:
第 1 题:arr 的长度是多少?
解析:数组中的空元素 (empty 元素) 也会被算到数组长度中
第 2 题:去除 arr 中的空数组项
解析:数组中的 empty 元素不会参与数组项遍历,故只需返回 true 即可过滤掉 empty 元素(而不会牵连
0
、NaN
、null
、undefined
、''
这些)第 3 题:写出表达式运行结果
解析:parseInt 接收
string
和radix
两个参数,前者是待转换的字符串,后者是进制参考基数,默认是 10。当 parseInt 作为 map 方法的回调函数时,parseInt 的string
的实参是数组项,radix
的实参是数组索引值,故执行过程如下:第 4 题:arr 和 arr2 合并成数组 arr3,兼容 IE8+
第 5 题:去除 arr3 中重复内容
解析:利用 ES6 中的 Set 集合不存在重复项的特点来去重