扩展运算符

扩展运算符

  • 将可遍历的对象扩展为参数序列

  • 遍历后的参数序列需要放在数组中

  • 如字符串:

    var strs = [...'ashen']
  • 如数组:用作数组拼接,在其中添加新元素很方便

    var younger = ['john', 'smith'];
    var older = ['Mike', 'jack'];
    var all = [...younger,'Mary', ...older];
    console.log(all)
    //结果 (4) ["john", "smith",'Mary', "Mike", "jack"]
  • 当直接将数组赋值给另一数组后,在另一数组上操作数组中的值,会同时改变原数组的值;这是因为赋值是把指向数据的地址赋给它;当另一数组将地址上的值改变时,指向同一地址的原数组中的值同样也是变了的

  • 而通过以下方式,将数组的参数序列放在数组中赋值给current,此时两个数组地址指向不同

    var current = [...all];

在NodeList上使用

var list = [...document.getElementsByTagName('li')];
console.log(list);
list = list.map(item => item.style.color = 'red');
document.getElementsByTagName('ul').innerHTML = list

在数组对象上使用

var user = {
   name: ['ashen', 'mary'],
   age: [20, 23]
};

var students = ['john', 'cherry', ...user.name];
console.log(students)//["john", "cherry", "ashen", "mary"]

在函数中使用

const logo = ['prada', 'pandora'];
const more = ['channel', 'Dior'];
logo.push(...more);
console.log(logo);

var now = [2020, 1, 16];
var Date = new Date(...now);
console.log(Date)

 

posted @ 2020-03-24 16:32  ashen1999  阅读(149)  评论(0编辑  收藏  举报