天天进修一个JS小学问
1. 迭代一个空数组
JavaScript 中直接建立的数组是松懈的,以至于会有许多坑。试着用数组的组织要领建立一个数组,你就会邃晓我的意义。
const arr = new Array(4);
[undefined, undefined, undefined, undefined]
你会发明,经由过程一个松懈的数组去轮回挪用一些转换是异常难的。
const arr = new Array(4);
arr.map((elem, index) => index);
[undefined, undefined, undefined, undefined]
想要处理这个题目,你能够运用在建立新数组的时刻运用 Array.apply。
const arr = Array.apply(null, new Array(4));
arr.map((elem, index) => index);
[0, 1, 2, 3]
2. 给要领传一个空参数
假如你想挪用一个要领,并不填个中的一个参数时,JavaScript 就会报错。
method('parameter1', , 'parameter3');
Uncaught SyntaxError: Unexpected token
我们经常使用的处理要领是通报 null 或 undefined.
method('parameter1', null, 'parameter3') // or
method('parameter1', undefined, 'parameter3');
自从 JavaScript 把 null 当作一个 object 的时刻。依据 ES6 中对扩大运算符的引见,有一个更简约的要领能够将空参数通报给一个要领。正如前文所提到的,数组是松懈的,所以给它传空值是能够的,我们正式用到了这个长处。
method(...['parameter1', , 'parameter3']); // works
数组去重
我一向不邃晓为何数组不供应一个内置函数能够让我们轻易的取到去重今后的值。扩大运算符帮到了我们,运用扩大运算符合营 Set Spread operators are here for the rescue. Use spread operators with the Set 能够天生一个不反复的数组。
const arr = [...new Set([1, 2, 3, 3])];
[1, 2, 3]