1、 for-in
var arr = ["html","css","javascript"]for(var key in arr){console.log(key)}
2、 of 方法
var arr = [2,3,4,5]for(var i of arr){console.log(i);}
# of 支持异步循环function muti(num){return new Promise((resolve,reject)=>{setTimeout(()=>{resolve(num*num)},1000)})}var arr = [2,3,4];/*forEach 是一个同步的循环of 支持异步循环*/(async()=>{/* arr.forEach(async(item)=>{var res = await muti(item)console.log(res)}) */for(let value of arr){let res = await muti(value)console.log(res)}})()
3、 forEach方法
遍历数组中的每一项,没有返回值,对原数组没有影响
var arr = [2,3,4,5]arr.forEach((item,index)=>{console.log(item+"--"+index);})
4、 map 方法 (需加return)
可以改变数组的每一项,变成一个新数组
var arr = [2,3,4,5]var res = arr.map((item=>{return item*2}))console.log(arr); // [2,3,4,5]console.log(res); // [4,6,8,10]
- 注意点:
```javascript var arr =[1,2,3] var res = arr.map(item =>{ return item*3 }) console.log(res); console.log(arr); // 没有改变数组原来的结构1.数组的每一项是基础(简单)类型,执行map不会改变数组原来的结构2.数组的每一项为复杂类型,会改变原来的数据结构
var obj =[ {name:”liu”,age:10}, {name:”zhang”,age:11} ] var result = obj.map(item =>{ return item.age = 0; }) console.log(result); console.log(obj); // 改变了数组原来的结构
<a name="KjDQG"></a>## 5、 some 方法 (需加return)- `只要数组中有一项满足条件,就输出true````javascriptvar arr = [1,2,3,4,5]var res = arr.some(item =>{return item>3})console.log(res); // true
6、 every 方法 (需加return)
数组中的每一项满足条件,才输出true```javascript var arr = [1,2,3,4,5]
var str = arr.every(item => item >2) console.log(str); //false
<a name="1uAXH"></a>## 7、 findeIndex 方法```javascript// 找到符合条件的就返回 返回对应的下标,没找到就返回-1var arr = [1,2,3,2]var index = arr.findIndex(item=>{return item == 2;})console.log(index); // 1
8、 find 方法 (需加return)
// 找到一个就返回匹配的元素,没找到就返回 undefinedvar arr = [1, 2, 3, 4, 5, 6]var newArr = arr.find(val => {return val > 2})console.log(newArr) // 3
9、 filter 方法 (筛选,过滤)(需加return)
注:此方法也不会改变原始数组,会返回一个筛选成功匹配的元素组成的新数组。
// 查找符合条件的元素,主要用于筛选var arr =[1,2,3,4,5]var res = arr.filter(item =>item>2)console.log(res);
var students = [{name:"李四",age:"18岁"},{name:"李二",age:"11岁"},{name:"李五",age:"19岁"},{name:"王四",age:"22.5岁"},]/* 大于11岁,返回一个新的数组 */var result = students.filter(item=>{return parseFloat(item.age)>11;})console.log(result)
