ES6:ES6的内置对象Array数组的扩展方法

Array数组的扩展方法
扩展运算符:可以将数组或对象转为用逗号分隔的参数序列,正好和剩余参数相反。

// 数组中的,逗号会被当作方法的参数分隔符
let ary = ["a","b","c","d"];
console.log(...ary); // 输出结果为a b c d

扩展运算符也可以应用与合并数组。
第一种方法合并数组:

let arr1 = [1,2,3]; // 拆分为1,2,3
let arr2 = [4,5,6]; // 拆分为4,5,6
let newArr = [...arr1,...arr2];
console.log(newArr); // 输出: [1, 2, 3, 4, 5, 6]

第二种方法合并数组:
数组中的push方法可以向数组中追加元素。

let arr1 = [1,2,3,4];
let arr2 = [5,6,7];
arr1.push(...arr2); // 相当于arr1.push(5,6,7);
console.log(arr1); // 输出:[1, 2, 3, 4, 5, 6, 7]

扩展运算符也可以将伪数组转换成真正的数组。

<ul>
	<li>1</li>
	<li>2</li>
	<li>3</li>
	<li>4</li>
	<li>5</li>
</ul>
  let lis = document.querySelectorAll("ul li");
  lis.push(1); // 通过标签名获取到的是一个伪数组,是个标签集合,无法使用数组的一些方法,因此使用push会报错
  console.log(lis); // 报错

  let newLis = [...lis];
  newLis.push("hello");
  console.log(newLis); //会添加到元素末尾

在Array数组中有个方法:Array.from(),可以将伪数组转换成真正的数组。

let lis = document.querySelectorAll("ul li");
// 将lis作为参数传递到from()中,再创建newLis变量接过来收
let newLis = Array.from(lis);
console.log(newLis); // 输出结果就是真数组

Array数组的扩展方法:实例方法:find(),用于找出第一个符合条件的数组成员,如果没找到返回undefined。
使用方法:
向find()方法中传递一个函数,这个函数有两个参数,第一个参数为当前循环到的值本事,第二个参数为当前循环的索引号。

let arr = [{
	id:1,
	name:"Alice",
	age:21
},{
	id:2,
	name:"Bob",
	age:19
}];
let num = arr.find((ele,index) => {
// 查找数组中id为2的元素
	return ele.id == 2;
})
console.log(num); // 返回id为2的元素对象

**Array数组的扩展方法:实例方法:findIndex(),用于找出第一个符合条件的数组成员,如果没找到返回-1,如果找到返回该元素所在位置的索引号。**使用方法和find()一样。

let arr = [{
	id:1,
	name:"Alice",
	age:21
},{
	id:2,
	name:"Bob",
	age:19
},{
	id:3,
	name:"Tim",
	age:16
}];
let num = arr.findIndex((ele,index) => {
	return ele.id == 3;
})
// 输出2,返回的是id为3的索引号 因为id:3在数组中的索引号就是2
console.log(num); 

Array数组的扩展方法:实例方法:includes(),表示某个数组是否包含给定的值,返回布尔值,如果包含返回true,反之返回false。

let arr = [1,2,3,4];
let a1 = arr.includes(0);
let a2 = arr.includes(2);
console.log(a1); // false
console.log(a2); // true

 let arr = [{
	id:1,
	money:109
},{
	id:2,
	money:87
},{
	id:3,
	money:99
}]
let res = arr.includes(arr[3]);
console.log(res); // false,因为最多只有arr[2]

数组中的some()方法

语法:数组.some(function(item,index){return 条件})
参数:item表示遍历的每个元素,index表示每个元素的索引
数组的some方法,表示当前数组中是否有符合条件的数据,有返回true,没有返回false
注意:some方法也可以对数组遍历

let arr = [{name:'河南省'},{name:'河北省'},{name:'黑龙江'}]
arr.some(item =>{
	return item.name == '河北省' // 返回true
	return item.name == '浙江省' // 返回false
})

数组中的find()方法

表示可以找到对应的对象
语法:数组.find(function(item,index){return 条件})
参数和some方法一样

let arr = [{name:'河南省'},{name:'河北省'},{name:'黑龙江'}]
arr.find(item =>{
    return item.name == '河北省' // 返回一个对象:{name:'河北省'}
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值