发表于: 2021-11-28 23:49:17

0 878


今天完成的事情:

看了JS知识点
明天计划的事情:

继续看知识点
遇到的问题:

慢慢收集问题
收获:

对一个数组 filter、some、map、foreach的操作分别有什么作用?


 循环(loop),指的是在满足条件的情况下,重复执行同一段代码。比如,while语句。

迭代(iterate),指的是按照某种顺序逐个访问列表中的每一项。比如,for语句。

遍历(traversal),指的是按照一定的规则访问树形结构中的每个节点,而且每个节点都只访问一次。

递归(recursion),指的是一个函数不断调用自身的行为。

 函数不断在调用自己,直到找到终点,把结果沿着原来的路线进行传递,最终回归到起点


 数组,在编程语言中很重要,其中every()、filter()、some()、map()、forEach()是ECMAScript5为数组定义的5个迭代方法, 是为了更方便的对数组进行操作。


   every()、filter()、some()、map()、forEach()是ECMAScript5为数组定义的5个迭代方法, 是为了更方便的对数组进行操作。
   
     every():对数组中的每一项运行给定函数,如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测
    
     filter():对数组中的每一项运行给定函数,返回该函数会返回true 的项组成的数组。
    
    筛选出数组中符合的项,组成新的数组
    

    forEach():对数组中的每一项运行给定函数。这个方法没有返回值。调用数组的每个元素,并将元素传递给回调函数,让数组的每一项做一件事
    
    map():对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。
    
    map()让数组通过某种计算得到一个新的数组,不改变原来数组的值
    
     some():对数组中的每一项运行给定函数, some()检测数组中的某些项符合条件,如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测
    

(3)常见问题:


什么是迭代、遍历、循环、递归?


(4)解决方案:


    循环(loop):指的是在满足条件的情况下,重复执行同一段代码。一般语言都会有三种类型的循环语句:for语句、while语句和do While语句。

       可以理解为:循环就是迭代(重复)一些命令的代码块, 如果循环控制条件不满足的话, 就结束循环.

       例子:将一段音乐或声音反覆播放数次(无限次/无穷循环)
    

    
       迭代(iterate),指的是按照某种顺序逐个访问列表中的每一项

       可以理解为:遍历一个集合,把集合里的每个元素都遍历一边。有时候,迭代也会指循环执行,反复执行的意思。


        遍历(traversal),是树形结构的一种重要运算,指的是按照一定的规则访问树形结构中的每个节点,而且每个节点都只访问一次。

       可以理解为:遍历,是指沿着某条搜索路线,依次对树中每个结点均做一次且仅做一次访问。或者理解为按一定的次序系统地访问结构中的所有结点,使每个结点只被访问一次。



       递归(recursion)在数学与计算机科学中,是指在函数的定义中使用函数自身的方法。递归一词还较常用于描述以自相似方法重复事物的过程。例如,当两面镜子相互之间近似平行时,镜中嵌套的图像是以无限递归的形式出现的。

       可以理解为:指的是一个函数不断调用自身的行为。
    


(5)拓展思考:


其他操作数组的方法


      reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。



       reduce() 可以作为一个高阶函数,用于函数的 compose。



       注意: reduce() 对于空数组是不会执行回调函数的。
   

       function(total,currentValue, index,arr)


       total  必需。初始值, 或者计算结束后的返回值。
  
       currentValue   必需。当前元素


       currentIndex  可选。当前元素的索引
  
 

       arr    可选。当前元素所属的数组对象。




返回列表 返回列表
评论

    分享到