赞
踩
1.for循环是最便历数据容器最好的方法:1.兼容性好 2.逻辑简单(好交接)
for(let i=0;i<arr.length;i++){
console.log(arr[i])
}
2、ofEach是for循环后来出的方法 但是它不返回新数组 直接操作原数组(一般不推荐使用)
var arr=[100,200,300]
arr.forEach((el,index,arr1)=>{
arr1[index]=el*2
arr1.shift()
//在forEach回调中尽量不要操作原数组,因为每次回调函数执行都会再次使用最新的原数组的数据
console.log(el,index,arr,arr1==arr)
return 100
})
3、map 推荐使用
var arr=[100,200,300]
var re=arr.map((el,index,arr)=>{
console.log(el,index,arr)
return el*2
})
4、我推荐不使用
var arr = [100, 200, 300]
for (el of arr) {
console.log(el)
}
for of 循环是 Es6 中新增的语句, 用来替代for in 和 forEach, 它允许你遍历 Arrays( 数组), Strings( 字符串), Maps( 映射), Sets( 集合)
5、
- <script>
- var arr = [{
- name: "karen",
- age: 16,
- rank: 484
- }, {
- name: "jack",
- age: 19,
- rank: 600
- }, {
- name: "marry",
- age: 18,
- rank: 550
- }]
- var arr2=arr.filter((el)=>{
- console.log(el)
- if(el.age>=18){return true}
- else{return false}
- }).filter((el)=>{
- if(el.rank>500){
- return true
- }else{
- return false
- }
- })
-
- var arr2=arr.filter((el)=>{
- //el引用了arr中元素 但是是一种浅拷贝
- console.log(el)
- el.name="xxx"
- if(el.age>=18){return true}
- else{return false}
- })
- arr2[0].rank=400
- console.log(arr2,arr)
这个方法返回的是符合条件的数组
6、
- <script>
- var arr = [{
- name: "karen",
- age: 16,
- rank: 484
- }, {
- name: "jack",
- age: 19,
- rank: 600
- }, {
- name: "marry",
- age: 18,
- rank: 550
- }]
- var re=arr.some((el)=>{
- console.log(el)
- if(el.rank>599){return true}
- })
- console.log(re)
这个方法返回的是符合条件的对象
8、
arr.every((el)=>{
if(el.age>18){return true}
else{return false}
})
这个方法是要全部的符合条件
9、
arr.reduce((累加的值,下一个元素)=>{ },初始值)
10、从右边开始累加
- <script>
- var arr = [{
- name: "karen",
- age: 16,
- rank: 484
- }, {
- name: "jack",
- age: 19,
- rank: 600
- }, {
- name: "marry",
- age: 18,
- rank: 550
- }]
- var re=arr.reduceRight((pre,next)=>{
- console.log(pre,next)
- return {age:pre.age+next.age}
- })
- console.log(re)
-
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。