数组方法
-
join
将简单类型数组 转变为字符串
const str = [1, 2, 3] const newStr = str.join("") console.log("", newStr) -
forEach
对数组进行遍历,类似于for循环,但不能被break打断,并且没有返回值
const num = [1, 2, 3, 4, 5] num.forEach(item => console.log("", item * 2))
-
map
对数组进行遍历,返回新数组
const num = [1, 2, 3, 4, 5] const newNum = num.map(item => item * 2) console.log("", newNum) -
filter过滤
对数组进行遍历,返回满足条件的元素,有返回值
const num = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
const newNum = num.filter(v => v > 2)
console.log("", newNum)//3,4,5,6,7,8,9,10
-
every
数组中的每个元素都要满足条件,如果时返回true
返回了false后就不再遍历
但是如果是空数组,不会遍历,直接返回true
const num = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] const newNum = num.every(v => v > 0) console.log("", newNum)//true -
some
数组中只要一个元素都要满足条件,如果时返回true
返回了true后就不再遍历
但是如果是空数组,不会遍历,直接返回false
const num = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] const newNum = num.some(v => v > 5) const newNum1 = num.some(v => v > 10) console.log("", newNum) //true console.log("", newNum1) //false -
find
寻找满足条件的第一个元素
找不到返回undefined
const num = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] const num1 = num.find(v => v == 3) console.log("", num1)//3 -
findIndex
寻找满足条件的第一个元素的下标
找不到返回-1
const test = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] const newTest = test.findIndex(v => v == 3) console.log("", newTest)//2 -
include
用来判断简单类型数组是否包含某个元素,返回true或false
let arr: number[] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] const result = arr.includes(1) console.log("", result) //true console.log("", arr.includes(11))//false -
indexOf(包含)
用来判断简单数据类型数组,从左往右开始寻找,返回第一个包含元素的下标,失败返回-1
let arr: number[] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
const result = arr.indexOf(2)
console.log("", result)//下标1
-
lastIndexOf
从右往左寻找
-
sort
对数组进行排序
let arr: number[] = [11, 22, 33, 432, 34, 123, 234234] const result = arr.sort((a, b) => { return a - b }) console.log("", result) //retrun 大于0 a排在b后面 //retrun 小于0 a在b前面 //retrun 0 不变 -
reduce
写法一:
//写法一 用于简单数据类型 const list = [1, 2, 3, 4, 5] const arr = list.reduce((a, b) => a + b) console.log("", arr)写法二:
//写法二 用于复杂数据类型 interface Food { name: string price: number } const food: Food[] = [ { name: "1", price: 10 }, { name: "2", price: 20 }, { name: "3", price: 30 } ] const arr = food.reduce((a: number, b: Food) => { return a + b.price }, 0) console.log("", arr)
总结
数组方法 作用 细节 join 数组转成字符串 ['a','b'].join('-') => "a-b" includes 判断是否包含某个元素 判断简单类型的数组,包含 返回 true indexOf 寻找元素下标 判断简单类型的数组,包含 返回 元素下标,不包含 返回 -1 lastIndexOf 寻找元素下标 类似上面,但是找元素的方向 从右往左 forEach 遍历 不同于for循环,不能break map 映射 返回相同数组长度的新数组 [1,2,3].map(v=>v+1) [2,3,4] filter 过滤 如果你回调函数中返回true,表示你保留这个元素 every 要求每一个元素都达到条件 返回true 空数组.every() 返回true | ,如果回调函数返回了false,不再遍历 some 要求一个元素达到条件返回true = 返回true 空数组.some() 返回false ,如果回调函数返回了true,不再遍历 find 寻找满足条件的一个元素 找到返回元素本身,找不到 返回undefined findIndex 寻找满足条件的一个元素的下标 找到了返回元素下标,找不到返回-1 sort 排序 .sort((a,b)=>a-b) reduce 累加 => 万金油 常见累加、求和,不限于。。。。