ES6系列学习(4)

本文是ES6系列的第四篇,主要讲解剩余参数和扩展运算符的概念及其在数组和对象解构、参数传递、数组合并等场景的应用。通过实例展示了如何利用这两个特性进行更简洁的代码编写。
摘要由CSDN通过智能技术生成

1.剩余参数

function sum(...numbers){
	console.log(numbers)
}
sum(1,2,3,4)
sum(1,2,3,4,5)

function sum(v1,...nums){
	console.log(nums)
}

//数组解构
const player = ['Jelly',123,5.4,6.7,3.4,7.8,8.9]
const [name,id,scores] = player;
console.log(name,id,scores);   //Jelly 123 5.4 

const [name,id,...scores] = player;
console.log(name,id,scores);    //[5.4,6.7,3.4,7.8,8.9]

2.扩展运算符

解构的作用是可以快速取得数组或对象当中的元素或属性,而无需使用arr[x]或者obj[key]等传统方式进行赋值。

剩余参数是我们将一个不定数量的参数表示为一个数组。

扩展运算符用三个点号表示,功能是把数组或类数组对象展开成一系列用逗号隔开的值。

const youngers = ['','','']
const olders = ['','','']

youngers.concat(olders);

function foo(a,b,c){
	
}

var arr = [1, 2, 3];

//传统写法
foo(arr[0], arr[1], arr[2]);
//使用扩展运算符
foo(...arr);

一些应用场景:

//1.数组拷贝(Array.from也可以进行数组拷贝)
var arr2 = arr;
var arr3 = [...arr];
var arr3 = Array.from(arr);

//2.数组合并
var arr4 = [...arr, 4, 5, 6];
console.log(arr4);//[1, 2, 3, 4, 5, 6]

var a1 = [1,2,3]; 
var a3 = [4,5,6];
var a2 = [...a1,0,...a3];
a2
[1, 2, 3, 0, 4, 5, 6]

//3.字符串转数组(当然Array.from也可以)
var str = 'love';
var arr5 = [...str];
console.log(arr5);//[ 'l', 'o', 'v', 'e' ]
var arr6 = Array.from(str)

//4.DOM节点转数组
const todos = [...document.querySelectorAll('li')];

//5.从对象中获取数组
const favorites = {
	color:['yellow','blue'];
	fruits:['banana','mongo']
}
const shopingList = ['milk','sweets',...favorites.fruits]

再看一个例子(查找索引,然后根据索引删除,获得数组剩下部分。):

在这里插入图片描述
我们添加合并两个数组:

//1.之前解决方法
const fruit = ['apple','banans','pear']
const newFruit = ['orange','mongo']

fruit.push.apply(fruit,newFruit);

//2.利用扩展运算符
fruit.push(...newFruit)

数组和对象合并的方法:

数组合并:concat、循环遍历、apply

对象合并:$.extend()、遍历赋值、Object.assign()

参考文章:
https://www.cnblogs.com/xingxiangyi/p/6416468.html
https://www.cnblogs.com/koala0521/p/7278056.html

3.对象字面量扩展

const Laravist = {
	name:'Laravist',
	age:2,
	birthday:'2015-09',
	greet(){

	},
	getName(){

	},
	getAge(){

	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值