String.prototype.padStart和String.prototype.padEnd
在原字符串开头或结尾填充指定的填充字符串直到目标长度所形成的新字符串,一般用来补0
语法
str.padStart(targetLength);
str.padStart(targetLength, padString);
例子
String(123).padStart(9,0); // "000000123"
'abc'.padStart(6,"123465"); // "123abc"
'abc'.padStart(10); // " abc"
'abc'.padStart(1); // "abc"
'abc'.padEnd(6, "123456"); // "abc123"
String(123).padStart(9,0); // "123000000"
Array.prototype.{flat, flatMap}
扁平化嵌套数组
flat()
方法会按照一个可指定的深度遍历递归数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。
语法
arr.flat([depth]);//depth 是数组遍历的深度,默认是1。
例子
const arr = [1, 2, [[[[3, 4]]]]];
arr.flat(); // [1, 2, [[[3, 4]]]]
arr.flat(3); // [1, 2, [3, 4]]
arr.flat(-1); // [1, 2, [[[[3, 4]]]]]
arr.flat(Infinity); // [1, 2, 3, 4]
let arr = [1, 2, , , 3];
arr.flat(); // [1, 2, 3]
let arr = ['My name', 'is', '', 'Lisa'];
let newArr1 = arr.flatMap(cur => cur.split(' '));
let newArr2 = arr.map(cur => cur.split(' '));
console.log(newArr1); // ["My", "name", "is", "", "Lisa"]
console.log(newArr2); // [["My", "name"], ["is"], [""], ["Lisa"]]