obj = { abc: 1, def: 2, ghij: 3 };
res = Object.fromEntries(
Object.entries(obj)
.filter(([ key, val ]) => key.length === 3)
.map(([ key, val ]) => [ key, val * 2 ])
);
// res is { 'abc': 2, 'def': 4 }
const array = [1, [2, [3]]];
array.flat();
// [1, 2, [3]]
array.flat(Infinity);
// [1, 2, 3]
let arr1 = [1, 2, 3, 4];
arr1.flatMap(x => [x * 2]);
// [2, 4, 6, 8]
// only one level is flattened
arr1.flatMap(x => [[x * 2]]);
// [[2], [4], [6], [8]]
console.log(' Hello world! '.trimStart());
// "Hello world! "
console.log(' Hello world! '.trimEnd());
// " Hello world!"
JSON.stringify
对 unicode 字符集进行优化
// Non-BMP characters still serialize to surrogate pairs.
JSON.stringify('𝌆')
// '"𝌆"'
JSON.stringify('\uD834\uDF06')
// '"𝌆"'
// Unpaired surrogate code units will serialize to escape sequences.
JSON.stringify('\uDF06\uD834')
// '"\\udf06\\ud834"'
JSON.stringify('\uDEAD')
// '"\\udead"'