ES5数组一些常用的方法源码实现
生活随笔
收集整理的這篇文章主要介紹了
ES5数组一些常用的方法源码实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
//forEach源碼實現Array.prototype.customeForEach = function (func, thisValue) {var arr = this;for (var i = 0; i < arr.length; i++) {func.call(thisValue, arr[i], i, arr);}}//some源碼實現Array.prototype.customeSome = function (func, thisValue) {var arr = this;var state = false;for (var i = 0; i < arr.length; i++) {var val = func.call(thisValue, arr[i], i, arr);if (val) {state = true;break;}}return state;}//reduce源碼實現Array.prototype.customeReduce = function (func, thisValue) {var arr = this;var total = thisValue ? thisValue : arr[0];for (var i = thisValue ? 0 : 1; i < arr.length; i++) {total = func(total, arr[i], i);}return total;}//filter源碼實現Array.prototype.customeFilter = function (func, thisValue) {var arr = this;var result=[];for (var i = 0; i < arr.length; i++) {var val = func.call(thisValue, arr[i], i, arr);if(val){result.push(arr[i])}}return result;}//map源碼實現Array.prototype.customeMap=function(func, thisValue){var arr = this;var result=[];for (var i = 0; i < arr.length; i++) {var val = func.call(thisValue, arr[i], i, arr);result.push(val);}return result;}//every源碼實現Array.prototype.customeEvery=function(func,thisValue){var arr = this;var state = true;for (var i = 0; i < arr.length; i++) {var val = func.call(thisValue, arr[i], i, arr);if (!val) {state = false;break;}}return state;}
源碼的學習對于提升js還是很重要的,我們不單單是要學會怎么用,還要搞清楚內部是如何實現,之前我對數組的這些方法也不是很清楚,只用到了其中的一部分,現在通過總結可以加深對他們的理解。
轉載于:https://www.cnblogs.com/shentao11023/p/10974980.html
總結
以上是生活随笔為你收集整理的ES5数组一些常用的方法源码实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pom.xml报错:Failure to
- 下一篇: 第二阶段团队冲刺10