语言基础函数编程

迭代实现-js-v1.0.0

2019-07-29  本文已影响0人  一点金光
---
title:迭代实现
date: 2018-06-09 16:29:00
updated: 2018-06-10 12:00:00
categories:
- 语言基础
- 函数编程
tags:
- nodejs
---

从字面量(如for循环)到迭代(递归)

let arr = [1, 2, 3]
//基于字面量-do while
(function() {
  var i = 0,
      len = arr.length;
  do {
      if (i == 2) {
          break; // 循环被终止, 此处如果是continue就会造成循环无法退出
      };
      console.log('array['+ i +']:' + arr[i]);
      i++;
  } while(i<len);
})();


//基于字面量-for
(function(){
  for(var i=0,length=arr.length;i<length;i++){
      console.log(arr[i]);//内部方法若有可能相互影响,也要置于闭包之内
      // do sth. here
  }
})();

//基于字面量-for ...in
//一般不建议使用for…in遍历数组,因为顺序是不确定的
for(letitem in arr){
  console.log(arr[item]);
}

//基于字面量-for ...of
for (let item of arr) {
    console.log(item)
}

//基于递归
function out(n) {
  //确定退出条件
  if(n<0){
      return "";
  }
  //确定循环内容
  console.log(arr[n])
  return out(n-1);
}
out(2);

数组篇

项目 任务 诠释
forEach 遍历执函 让每一项做某件事
map 遍历执函;带返回值 通过某种计算产生一个新的数组
filter 遍历执函;带返回值 筛选出符合条件的项,产生一个新的数组
reduce 遍历执函;带返回值 让前一项和后一项做某件事,并累计最终值
every 遍历执函;带返回值 检查每一项是否符合条件
some 遍历执函;带返回值 检查是否有某项符合条件

某栈篇

队列篇

链表篇

上一篇 下一篇

猜你喜欢

热点阅读