循环数组方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了循环数组方法相关的知识,希望对你有一定的参考价值。

伪数组

伪数组:没有数组的方法,用数字做属性

arguments 是伪数组

arguments{
0:11,
1:22
}
arguments[0]; //访问属性0的值

或:
let stu=function(){
    console.log(arguments);
}
stu(11,22,33); // {‘0‘:11,‘1‘:22,‘2‘:33}

 

循环数组的方法

for

let ary=[100,200,300,400,500,600];
for(let i=0,i<ary.length,i++){
    console.log();
}

 

forEach

ary.forEach(function(ele,i){
    console.log(ele,i);         // 100 0
                                   200 1
});                                300 2
                                   ..600 5

 

for-of

for(let value of ary){
    console.log(value);      // 100
                                200
}                               ..600

 

es5:

map

  • 结果与原数组个数一样
  • return 后返回值个数一样,没有具体指返回undefined

 

ary.map(function(ele){
    console.log(ele);         // 100 
    return;                          200 
});                              .. 600 


或:
let=ary.map(function(ele){
    console.log(ele);         
    return (ele);       //  newAry[100,200,300,400,500,600]              
});                              
console.log(newAry,newAry);        
return ele*10;   // newAry[1000,2000,3000,4000,5000,6000]   

 

 

filter

可过滤原数组

let=ary.filter(function(ele){
    console.log(ele);         
    if(ele>=300){
        return ele;
    }

});                              
console.log(newAry,newAry);        

 

reduce

每一次循环的return作为第一个参数;每一次的参数是前一次的结果

let newAry=ary.reduce(function(ele,ele1){ 
  console.log(ele,ele1); // 100,200   // return ele;
  return 1;       
// 1 300
                1 400
});               1 500
return ele,ele1;      1 600
console.log(newAry,newAry); // 2100

 

  • 伪数组没有数组的属性、方法,需转换为真数组;伪数组以数字作属性
  • 循环数组的方法:需注意每一种方法返回的结果不同,具体值的差异和返回值与原数组个数的差异;es5 中循环的方法

以上是关于循环数组方法的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段—— 数组的响应式方法

VSCode自定义代码片段10—— 数组的响应式方法

几个关于js数组方法reduce的经典片段

几个关于js数组方法reduce的经典片段

有人可以在快速数组中给出“如果不存在则追加”方法的片段吗?

使用从循环内的代码片段中提取的函数避免代码冗余/计算开销