伪数组转换成数组
let args = [].slice.call(arguments)
// ES5中的使用方式,ES6中已经废弃了arguments
let imgs[] = [].slice.call(document.querySelectorAll('img'))
// NodeList 这是 ES5的做法
// Array.prototype.from ES6中的做法
let args = Array.from(agruments)
let imgs = Array.from(document.querySelectorAll('img'))
imgs.forEach()
// 语法:Array.from(arrayLike,mapFn,thisArg)
伪数组是什么东东?
对象有索引,有length属性,就是伪数组
// 长度为5的数组,然后都设置成1
// {0:'a',1:'b',length:2}
// 伪数组 TIPS: 有索引,有length属性,就是伪数组
// let array = Array.from({ length: 5 }, function () { return 1 })
for 填充数组是很low的写法
let array1 = Array(5)
for (let i = 0; i < array1.length; i++) {
array1[i] = 1
}
console.log(array1)
fill 填充数组才是ES6的正规写法
// Array.fill(value,startPosition,endPosition)
// [数组].fill(填充值,开始位置,结束位置)
// start default position = 0
// end default position = array.length
let array2 = Array(5).fill(2)
console.log(array2)
filter筛选数组元素
// 有一个1-10的数组
let listA = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
// filter会找出全部相关值,哪怕是重复的
let findNums = listA.filter(function (item) {
return item % 3 === 0
})
find在数组中查找唯一元素
/* find 只会找出现的第一次,而且只找第一个 */
let findNum = listA.find(function (item) {
return item % 3 === 0
})
findIndex找索引的位置
/* 找索引的位置 */
let findIndex = listA.findIndex(function (item) {
return item === 2
})