目录
1.扩展运算符
扩展运算符和剩余参数有点像,格式都是... ,剩余参数放在函数的形参部分,扩展运算符放在实参的位置。 但是在使用时还是会有不同的地方。可以理解为扩展运算符是剩余参数的逆运算。
- 扩展运算符可以用来展开数组:
const arr1 = [1, 2, 3]; const arr2 = [4, 5, 6]; const combinedArray = [...arr1, ...arr2]; console.log(combinedArray); // 输出 [1, 2, 3, 4, 5, 6]
- 扩展运算符可以完成数组的浅拷贝:
const originalArray = [1, 2, 3]; const copyArray = [...originalArray]; console.log(copyArray); // 输出 [1, 2, 3]
- 扩展运算符可以用来合并数组:
const arr3 = [7, 8, 9]; const mergedArray = [...arr1, ...arr2, ...arr3]; console.log(mergedArray); // 输出 [1, 2, 3, 4, 5, 6, 7, 8, 9]
扩展运算符还可以用来展开对象。
let skillOne = {q: '致命打击'}; let skillTwo = { w: '勇气'}; let skillThree = {e: '审判'}; let skillFour = { r: '德玛西亚正义'}; let gailun = {...skillOne, ...skillTwo,...skillThree,...skillFour}; console.log(gailun)
2.合并数组和克隆数组
(1)合并数组
// 方法一
let ary1 = [1, 2, 3];
let ary2 = [3, 4, 5];
let ary3 = [...ary1, ...ary2];
console.log(ary3)
// 方法二
ary1.push(...ary2);
console.log(ary1)
(2)克隆数组
const tfboys=['易烊千玺','王源','王俊凯'];
//克隆
const boys=[...tfboys];
console.log(boys)
3.构造函数的Array.from()方法
可以通过此方法将伪数组转换为真数组。
//定义一个集合
let arrayLike = {
'0': 'a',
'1': 'b',
'2': 'c',
length: 3
};
//转成数组
let arr2 = Array.from(arrayLike); // ['a', 'b', 'c']
括号内还可以传第二个参数 ,作用类似于数组的map方法,用来对每个元素进行处理,将处理后的值放入返回的数组。
let arrayLike = {
"0": 1,
"1": 2,
"length": 2
}
let newAry = Array.from(arrayLike, item => item *2)//[2,4]
4.实例方法 find()和findIndex()
find()
是数组的一个方法,用于查找数组中满足指定条件的第一个元素,并返回该元素。如果找到符合条件的元素,则返回该元素;如果没有找到,则返回 undefined
。
findIndex()
是数组的一个方法,用于查找数组中满足指定条件的第一个元素,并返回该元素的索引。如果找到符合条件的元素,则返回该元素的索引;如果没有找到,则返回 -1。
前者返回元素的值,后者返回元素的索引号。
const foundNumber = numbers.find(function(num) {
return num > 25;
});
console.log(foundNumber); // 输出 30
const foundIndex = numbers.findIndex(function(num) {
return num > 25;
});
console.log(foundIndex); // 输出 2
5.实例方法includes()
用来判断数组中是否包含某个数值,结果是布尔值。
let ary = ["a", "b", "c"];
let result = ary.includes('a')
console.log(result)// true
result = ary.includes('e')
console.log(result)// false