拓展运算符
...用在=左边,聚合的作用(对象、数组的解构)
...用在=右边,展开(剥离)的作用
let obj1 = {
name: '张三'
}
let obj2 = {
...obj1,
age: 12
}
let arr1 = [1, 2, 3];
let arr2 = [4, 5, 6];
// 利用拓展运算符,将数组1,2合并到arr中
let arr = [...arr1, ...arr2];
// console.log(arr);
// 拓展运算符,放在等号右边,是展开(剥离)的作用
// 放在等号左边,是聚合的作用
// let obj1 = {
// name: '张三',
// age: 12
// }
// let obj2 = {
// ...obj1,
// gender: 'male',
// hobby: '篮球'
// }
// console.log(obj2);
let arrStr = [...'hello'];
console.log(arrStr);
API拓展
Array.from() 将其他类型属性转成数组
Array.of() 创建数组实例,实参就是数组的元素
Array.prototype.find() 返回满足条件的第一个元素
Array.prototype.findIndex() 返回满足条件的第一个元素的索引
Array.prototype.includes() 判断当前数组中是否包含某个元素
Array.prototype.fill() 填充数组(左右元素填充)
Array.prototype.keys() 索引的迭代器对象
Array.prototype.values() 元素的迭代器对象
Array.prototype.entries() 键值对的迭代器对象
// let arr1 = new Array('3') // [1,2,3] [3]
// console.log(arr1);
let arr1 = Array.of(3, 3, 3, 3);
console.log(arr1);//[3,3,3,3,3]所见即所得
let arr1 = ['李四', '王五', '老六', '张三'];
// find方法返回满足条件的第一个元素
// let result = arr1.find(item => {
// return item === '张三'
// })
// findIndex()返回满足条件的第一个元素的索引
// let result = arr1.findIndex(item => {
// return item === '张三'
// })
// let result = arr1.includes('张三');
// fill填充数组,将数组内部所有元素都用实参填充
arr1.fill(1)
console.log(arr1);
let arr1 = ['张三', '李四', '王五', '老六'];
// 返回的是数组的迭代器对象,可用通过.next()访问内部的值
// { value: 0, done: false }
let key = arr1.keys();
let value = arr1.values();
let entry = arr1.entries();
console.log(key); // [0,1,2,3]
console.log(value);
console.log(entry);
console.log(key.next());
console.log(key.next());
console.log(key.next());
console.log(key.next());
console.log(key.next());
结果:
Object [Array Iterator] {}
Object [Array Iterator] {}
Object [Array Iterator] {}
{ value: 0, done: false }
{ value: 1, done: false }
{ value: 2, done: false }
{ value: 3, done: false }
{ value: undefined, done: true }