底层的代码: (后期需要补充)
1.flat
- 功能:拍平数组
- 参数:没有/数字 (没有传递参数的情况下只会将数组的维数减少1;如果传递数字n那就会在原来的维度上减n;如果传递的数字大于现在数组的维度那就会把数组拍成一维的)
- 返回值:返回的新的一个数组
- 可以链式调用
2.flatMap:【这里截图有点不太整齐!可以将代码粘贴复制到控制台上面看看】
功能: 遍历数组 + 将数组的维度减少1
参数:箭头函数
返回值:返回一个新的数组
是否可以链式调用: 可以链式调用
const arr = [1,2,3,4,5,[6,[7,8]]];
arr.map(x => [x, x+10].flat());
arr.flatMap(x => [x, x+10]);
arr.flatMap(x => [x, x+10]).flatMap(x => [x, x+10]);
3.Object.fromEntries (Object.entries 将对象转换成数组)
功能:将数组转换成对象
参数:数组
返回值:返回一个对象
是否可以链式调用:不可以
const arr3 = [[1,2],[3,4]];
Object.fromEntries(arr3); // {1:2,3:4}
4.trimLeft && trimRight
这个比较简单:去掉字符串前面的(后面的)空格
* 自我觉得还是用trim吧!(直接去掉字符串的左右的空格【不会去掉中间的空格】)
5.optional catch() [讲真的没太看懂!有点不知道这个之后的用处在哪里!]
*****后期需要补充
try {
throw "Error we don't care about";
} catch { // param can be ignored
console.log('[ERROR] optional catch')
}
6.function.toString()
将函数转化成字符串然后进行输出!
7.symbol 里面的toString
const symbol = Symbol('111111111');
symbol.toString(); //Symbol(111111111)
应用:我们可以利用symbol.for 来实现去重的操作 【如果放在symbol之后我们不能直接拿到其中的string ,我们可以利用symbol.toString的方法进行字符串的截取就好!】