数组扩展
Array.from() 把拥有迭代器的数据和类数组对象转换成数组;
Array.of() 将一组值转换成数组:
console.log(Array.of(3))//[ 3 ]
用new Array()创建数组时,传入一个Number类型的参数代表的是数组长度,Array.of()可以弥补这种不足
数组的实例方法
find() 用于找出第一个符合条件的数组元素,只返回一个符合条件的值,返回的是数据,不是索引
let arr = [1,3,5,6,7,8]
//找到大于5的数据
let res = arr.find((item,index,arr)=>{
return item >5;
});
console.log(res);//6
find接收一个回调函数作为参数
回调函数(当前值,当前所处的的位置,原数组)
返回的是第一个满足条件的值,如果找不到则返回undefined
findIndex() 返回第一个符合条件的值的索引
let re = arr.findIndex((item,index,arr)=>{
return item>15;
})
console.log(re);//-1
返回的是符合当前条件的第一个数据的索引,如果找不到则返回-1
includes() 检测数组中是否包含某个值,包含则返回true
fill() 使用给定值填充一个数组,会改变原数组
let arr = [1,2,3,4]
let res = arr.fill(9);
console.log(res)//[ 9, 9, 9, 9 ]
console.log(arr)//[ 9, 9, 9, 9 ]
keys(),values(),entries() 遍历数组,返回一个遍历器对象
keys(),键名进行遍历,得到索引
values(),对键值进行遍历,得到值
entries(),对键值对的遍历,得到键值对for in
let arr = [1,2,3,4,5]
let obj = {
name:'tom',
age:12
}
// for ( let a of arr){
// console.log(a)//1 2 3 4 5 得到的是数组值
// }
// for(let i of obj){
// console.log(i)//TypeError: obj is not iterable 对象不能用for of遍历
// }
for (let i in obj){
console.log(i);//得到的是属性名
}
for (let i in arr){
console.log(i);//得到的是索引
}