美文网首页前端之路
JavaScript 数组-扩展运算符

JavaScript 数组-扩展运算符

作者: 小小_绿 | 来源:发表于2019-08-12 11:15 被阅读0次

扩展运算符

扩展运算符(spread)是三个点(...)。将一个数组转为用逗号分隔的参数序列。

  • 与正常函数参数结合使用
  • 扩展运算符后可放置表达式
  • 扩展运算符后加空数组,不生效
  • 只有函数调用时,扩展运算符才可以放在圆括号中,否则会报错
扩展运算符应用
  • 复制数组
const a1 = [1, 2];
const a2 = [...a1];
  • 合并数组
// ES5 的合并数组
arr1.concat(arr2, arr3);
// ES6 的合并数组
[...arr1, ...arr2, ...arr3]

*与解构赋值结合
扩展运算符可以与解构赋值结合起来,用于生成数组。
扩展运算符用于数组赋值,只能放在参数的最后一位。

// ES5
a = list[0], rest = list.slice(1)
// ES6
[a, ...rest] = list
  • 将字符串转为真正的数组
    扩展运算符可正确识别四个字节的 Unicode 字符
    [...'hi'] // ['h', 'i']
function length(str) {
  return [...str].length;
}
length('x\uD83D\uDE80y') // 3
  • 任何定义了遍历器(Iterator)接口的对象,都可以用扩展运算符转为真正的数组

  • Map 和 Set 结构,Generator 函数使用扩展运算符转数组
    需要有Iterator 接口的对象,才可正确使用;
    扩展运算符背后调用的是遍历器接口(Symbol.iterator),如果一个对象没有部署这个接口,就无法转换

相关文章

  • [转载]扩展运算符...

    原文:JavaScript 扩展运算符 扩展运算符格式 扩展运算符格式很简单,就是三个点(...) 扩展运算符作用...

  • ES6学习之- 数组的扩展

    Part3 数组的扩展 3.1 扩展运算符和数组的解构赋值 (1)扩展运算符是三个点 ...,扩展运算符主要用于函...

  • es6新增的数组方法

    扩展运算符 1.扩展运算符的使用方法 2.扩展运算符的应用(1)复制数组 (2)合并数组 (3)与解构赋值结合 (...

  • JavaScript 数组-扩展运算符

    扩展运算符 扩展运算符(spread)是三个点(...)。将一个数组转为用逗号分隔的参数序列。 与正常函数参数结合...

  • ES6(八)迭代器与生成器3

    1.扩展运算符与非数组的可迭代对象 2.传递参数给迭代器 扩展运算符与非数组的可迭代对象 扩展运算符( ... )...

  • ES6-数组(深浅拷贝)

    参考文章:数组的扩展 一、扩展运算符... 扩展运算符(spread)是三个点(...)。 主要作用:将一个数组转...

  • JavaScript 多维数组变一维

    关键词:JavaScript 递归 concat 扩展运算符 开发中常常会遇见深度很深的多维数组,比如各种目录,列...

  • JavaScript 学习脑图

    javascript数据类型 javascript变量 javascript运算符 javascript数组 ja...

  • 内置对象扩展(Array)

    Array 的扩展方法 扩展运算符(展开语法) 扩展运算符可以将数组或者对象转为用逗号分隔的参数序列 扩展运算符可...

  • ES6学习笔记之扩展运算符

    扩展运算符是三个点(...),它将一个数组转为用逗号分隔的参数序列 使用扩展运算符求数组最大元素 使用扩展运算符将...

网友评论

    本文标题:JavaScript 数组-扩展运算符

    本文链接:https://www.haomeiwen.com/subject/bdpyjctx.html