JavaScript学习笔记(贰拾陆)

104 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第18天点击查看活动详情

ES10

  • Object.fromEntries() 方法把键值对列表转换为一个对象。返回一个由迭代对象条目提供对应属性的新对象执行与Object.entries 互逆的操作

  • trimStart() 方法从字符串的开头删除空格。trimLeft() 是此方法的别名。 移除原字符串左端的连续空白符并返回一个新字符串,并不会直接修改原字符串本身。

  • rimEnd() 方法从一个字符串的末端移除空白字符。trimRight() 是这个方法的别名。 移除原字符串右端的连续空白符并返回, 不会直接修改原字符串本身。

  • trim() 方法会从一个字符串的两端删除空白字符。在这个上下文中的空白字符是所有的空白字符 (space, tab, no-break space 等) 以及所有行终止符字符(如 LF,CR等)。

// trim
let str = '   fsf '
console.log('保留两侧不动:', str)
console.log('清除两侧不动:', str.trim())
console.log('清除左侧空格:', str.trimStart())
console.log('清除右侧空格:', str.trimEnd())
  • flat() 方法会按照一个可指定的深度递归遍历数组, 返回一个包含将数组与子数组中所有元素的新数组。
// flat() 方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。
// 将多维数组转化为低维数组。参数为深度,是一个数字
const arr = [1, 2, 3, [3, 4, 55, 5]]
console.log(arr) // [1, 2, 3, Array(4)]
console.log(arr.flat()) // [1, 2, 3, 3, 4, 55, 5]

const arr1 = [12, [4, 5, [5, 6]]]

console.log(arr1.flat()) // [12, 4, 5, Array(2)]
console.log(arr1.flat(2)) // [12, 4, 5, 5, 6]
  • 将多维数组转化为低维数组。参数为深度,是一个数字 arr.flat([depth])参数:depth 可选、指定要提取嵌套数组的结构深度,默认值为 1。

  • flatMap() 返回一个新的数组,其中每个元素都是回调函数的结果,并且结构深度 depth 值为1。

var new_array = arr.flatMap(function callback(currentValue[, index[, array]]) {
    // return element for new_array
}[, thisArg])
//callback    可以生成一个新数组中的元素的函数,可以传入三个参数:
    //currentValue    当前正在数组中处理的元素
    //index可选        可选的。数组中正在处理的当前元素的索引。
    //array可选        可选的。被调用的 map 数组
//thisArg可选        可选的。执行 callback 函数时 使用的this 值。

 // flatMap
const arr2 = [1, 2, 3, 4]
const res = arr2.flatMap(item => item * 10);
console.log(res) // [10, 20, 30, 40]