ES6:数组的扩展

1、判断数组

● Array.isArray() 判断该值是否是一个数组,返回一个布尔值

const arr = [1, 2, 3, 4, 5, 6]
console.log(Array.isArray(arr))  // true

2、创建数组

● Array.of() 创建一个新数组

const arr2 = Array.of(1,2)
console.log(arr2)  // [1, 2]

3、转换数组

● Array.from()方法可以将可迭代对象转换为新的数组。

const str = 'hello world'
const arr3 = Array.from(str)
console.log(arr3) // ['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']

const obj = {
    
    
    0: '张三',
    1: '李四',
    2: '王五',
    'length': 3
}
const arr4 = Array.from(obj)
console.log(arr4)

4、填充数组

● arr.fill(value,start,end)

const arr5 = new Array(10).fill(0)
console.log(arr5)  // [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
const arr6 = [1, 2, 3, 4]
console.log(arr6.fill(8))  // [8, 8, 8, 8]
console.log(arr6.fill(10, 1, 2))  // [1, 10, 3, 4]

5、数组扁平化

● arr.flat() 数组扁平化,即将多维数组转化为一维数组

let arr7 = [1, 2, [3, 4], [5, 6], [7, 8, [9]]]
const result = arr7.flat(Infinity)
console.log(result)  // [1, 2, 3, 4, 5, 6, 7, 8, 9]

6、判断元素是否存在

● arr.includes()方法,是查看数组中是否存在这个元素,存在就返回true,不存在就返回false

let arr8 = [1, 33, 44, 22, 6, 9]
let ary = arr.includes(22)
console.log(ary)   // true

7、查找元素

● arr.find()方法,是查找数组中符合条件的第一个元素,直接将这个元素返回出来

let arr9 = [1, 33, 44, 2, 6, 9]
let a = arr8.find(v => v > 10)
console.log(a)  // 33

● arr.findIndex() 用来查找数组中符合条件的元素的索引,语法格式为;

let arr10 = [1, 33, 44, 2, 6, 9]
const b = arr10.findIndex(value => {
    
    
    return value % 2 === 0
})
console.log(b)  // 2

8、map()、filter()、forEach()、some()、every()

● arr.map() 要利用原数组经过运算后的数组,或者从对象数组中拿某个属性

let arr = [1, 2, 3, 4, 5]
const res = arr.map(item => item * 2)
console.log(res)  // [2, 4, 6, 8, 10]

● arr.filter() 是将符合挑选的筛选出来成为一个新数组,新数组不会影响旧数组。

let arr = [24,11,36,2,15]
let newArr = arr.filter(function(value,index,array) {
    
    
	return value % 2 === 0
})
console.log(newArr) // [24,36,2]

● arr.forEach()方法,是循环遍历数组中的每一项,没有返回值

let arr = [1,33,44,2,6,9]
let a1= []
arr.forEach((v, i)=>{
    
    
  if (v > 10) {
    
    
    a1.push(arr[i])
  }  
})
console.log(a1) [33,44]

● arr.some() 只要有一个元素满足就返回true,所有都不满足返回false。

● arr.every() 数组所有值都满足才会返回true,有一个不满足返回false。

9、遍历数组

● arr.keys() 遍历数组的键
● arr.values() 遍历数组的值
● arr.entries() 同时遍历数组的键和值

let arr12 = [1, 2, 'hello', 10]
for (let item of arr12.keys()) {
    
    
    console.log(item)
}

for (let item of arr12.values()) {
    
    
    console.log(item)
}

for (let item of arr12.entries()) {
    
    
    console.log(item)
}

猜你喜欢

转载自blog.csdn.net/DZQ1223/article/details/131429855