当前位置: 首页 > news >正文

公司可以备案几个网站网站平台建设的重要性

公司可以备案几个网站,网站平台建设的重要性,纯html静态网站,广州网站建设定制在解释什么是函数式编程之前#xff0c;我们先要说下什么是命令式编程#xff0c;它们都属于编程范式的一种。命令式编程其实就是一块一块的代码#xff0c;其中包括了我们要执行的逻辑或者判断或者一些运算。也就是按部就班的一步一步完成我们所需要的逻辑。而函数式编程则…   在解释什么是函数式编程之前我们先要说下什么是命令式编程它们都属于编程范式的一种。命令式编程其实就是一块一块的代码其中包括了我们要执行的逻辑或者判断或者一些运算。也就是按部就班的一步一步完成我们所需要的逻辑。而函数式编程则是类似于一个函数一个函数的调用。我们来看代码更清晰的理解一下函数式编程与命令式编程的区别。 //这是命令式 var printArray function (array) {for (var i 0; i array.length; i) {console.log(array[i])} } printArray([1,2,3,4,5]); //函数式 var forEach function (array,action) {for (var i 0; i array.length; i) {action(array[i])} }var logItem function (item) {console.log(item) }forEach([2,3,4,5,6],logItem)   我们先来看看上面的代码做了什么——“遍历数组然后打印数组的每一项”。在命令式编程中我们一步一步的完成了这句话。先遍历数组然后打印每一项元素。那么我们再来看函数式编程我们先声明了两个函数一个是遍历数组元素的forEach这里的action参数其实就是一个回调函数一个是打印每一项的logItem。我们把每一步骤的需要操作的逻辑都用函数来区分开最后再调用函数来执行运算。   在有了ES6之后我们可以更加方便的用函数式编程范式来编写我们的代码下面我们再来看一个例子。 //找出数组中元素最小的值 //代码十分简单我们假设数组的第一个元素是最小的并赋值给minVal变量 //遍历除第一项元素以外的所有数组内元素并与minVal比较如果当前的minVal比array[i]还要大那么就把minVal替换成array[i]; //最后返回结果 var findMinValInArray function (array) {var minVal array[0];for (var i 1; i array.length; i) {if(minVal array[i]) {minVal array[i];}}return minVal; } console.log(findMinValInArray([7,8,9,5,31,2])); //那么我们其实可以更简单的实现上面的方法比如Math.min以及解构操作符... const _min function (array) {return Math.min(...array); } console.log(_min([5,6,9,3,1])); //我们还可以用ES6的箭头函数让我们的代码更好看一些。 const min arr Math.min(...arr); console.log(min([2,3,9,4,8]))   上面代码中Math.min是一个方法返回参数中的最小值参数可以是无限个。那么还有ES6的箭头函数以及扩展运算符...。这里不做详细的解释附上连接地址大家可以更为详细的知道什么是箭头函数以及扩展运算符。   那么接下来我们看看如何利用我们前面已经学过的数组方法来让我们的代码更加“函数式”。 //我们先看一个命令式编程的例子 var daysOfWeek [{name:Monday,value:1},{name:Tuesday,value:2},{name:Wednesday,value:7}, ] var daysOfWeekValues_ []; for (var i 0; i daysOfWeek.length; i) {daysOfWeekValues_.push(daysOfWeek[i].value); }//再来看看函数式编程的样子 var daysOfWeekValues daysOfWeek.map(function (day) {//这个day其实就是数组中的每一项具体可以去我前面的文章查看map的参数return day.value; }) console.log(daysOfWeekValues);//我们还可以使用filter来过滤一个数组的值。 //比如 //命令式 var positiveNumbers_ function (array) {var positive [];for (var i 0; i array.length; i) {if(array[i] 0) {positive.push(array[i]);}}return positive; } console.log(positiveNumbers_([-1,2,1,-2])); //函数式 var positiveNumbers function (array) {return array.filter(function (num) {return num 0;}) }console.log(positiveNumbers([1,2,-1,-2,-5]));//我们再来看看reduce函数 //命令式 var sumValues function (array) {var total array[0];for (var i 1; i array.length; i) {total array[i];}return total; } console.log(sumValues([1,2,3,4,5])); //函数式 var sum_ function (array) {return array.reduce(function (a,b) {return a b;}) }console.log(sum_([1,2,3,4,5])) //我们还可以用ES6的方法改进一下 var sum arr arr.reduce((a,b) a b); console.log(sum([1,2,3,4,5]))   上面我们看了一些函数式编程的例子代码都不复杂很容易理解。所以就没做详细的注释。那么我们下面再看最后一个有趣的例子。 //我们来用命令式编程实现一个二维数组合并为一维数组的方法 var mergeArrays_ function (arrays) {var count arrays.length,newArray [],k 0;for (var i 0; i count; i) {for (var j 0; j arrays[i].length; j) {newArray[k] arrays[i][j];}}return newArray; }console.log(mergeArrays_([[1,2,3],[4,5],[6]]));//我们最后再看看函数式的写法 var mergeArraysConcat function (arrays) {return arrays.reduce(function (p,n) {return p.concat(n);}) }; console.log(mergeArraysConcat([[1,2,3],[4,5],[6],[7]]))//我们再来看看牛逼的方法 const mergeArrays (...arrays) [].concat(...arrays); console.log(mergeArrays([1,2,3],[4,5],[6],[7],[8])); //这一行代码需要解释下。我们来看看(...arrays)会变成什么 console.log(...[[1,2,3],[4,5],[6],[7],[8]])//一个一个单独的数组 //然后我们再用一个空数组去合并参数中的每一个单独的数组就可以了   到这里我们函数式编程的简单讲解就结束了上面的内容其实不过万分之一希望能让大家对代码的编写打开了另一扇窗户其实函数式编程在我们的实际工作中也是极为有用的。希望大家可以认真对待和学习最后附上一个可以学习函数式编程的网址http://reactivex.io/learnrx/。这是一个外国的练习网站只要会简单的英语看下来应该是没有问题的。      最后由于本人水平有限能力与大神仍相差甚远若有错误或不明之处还望大家不吝赐教指正。非常感谢转载于:https://www.cnblogs.com/zaking/p/9085235.html
http://www.zqtcl.cn/news/520534/

相关文章:

  • 2017年网站建设工作总结dhru商城网站建设
  • 建设网站需要申请深圳的网站建设的公司
  • 教育类的网站案例门户网站建设推广
  • 网站建设公司哪家比较好外贸网站建设公司价格
  • 做网站大概价格网站备案填写
  • 网站建设容易出现的问题网站建设学习网公司有哪些
  • 做网站的准备什么com域名
  • 百度资料怎么做网站赣州有没有做网站的
  • 网站上地图怎么做的福建省晋江市建设局网站
  • 休闲咖啡厅网站开发目标站内推广的方法和工具
  • 东莞做营销型网站怎样利用网站做引流
  • 国际1688网站网络平台宣传费用
  • 免费网站自助建站18款禁游戏黄app入口
  • 网站建设要经历哪些步骤?wordpress主题king
  • 个人定制网站外贸免费网站建设
  • ASP网站建设实训报告总结宜昌本地网站建设
  • 甘肃省建设厅官方网站张睿建立网站服务器
  • 有没有做博物馆的3d网站网页美工设计岗前培训
  • 如何防止网站被盗长沙知名网站建设
  • 汕尾住房和建设局网站山西招标网
  • 网站建设那好山西建设厅网站
  • 2免费做网站外贸公司注册需要多少钱
  • 莘县网站定制安卓软件开发培训机构
  • 织梦视频网站源码有没有专门做名片的网站
  • 济南本地网站自己做的网站怎么置顶
  • wordpress能做多大的站好用的网站后台
  • 想自己做网站流程国家住建网查企业资质
  • 英文网站怎么设计google浏览器入口
  • 重庆网站建设公司魁网个人备案网站名
  • 怀柔营销型网站建设wordpress菜单定制