大佬教程收集整理的这篇文章主要介绍了javascript – 通过过滤功能划分数组,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
目前,我的计划是使用array.forEach并在每个元素上调用谓词函数.根据这是真还是假,我将把当前元素推送到两个新的数组之一.有没有更优雅或更好的方式来做到这一点?一个array.filter,它会在返回false之前将元素推送到另一个数组上?@H_675_3@
Enumerable#partition
的方法.
如果该函数不具有副作用(即它不能改变原始数组),则没有更有效的方法来分割数组,而不是遍历每个元素,并将元素推送到您的两个数组之一.@H_675_3@
话虽如此,在Array上创建一个方法来执行这个功能可以说更为“优雅”.在这个例子中,过滤器函数是在原始数组的上下文中执行的(即这将是原始数组),它接收元素的元素和索引作为参数(类似于jQuery’s each
method):@H_675_3@
Array.prototype.partition = function (f){ var matched = [],unmatched = [],i = 0,j = this.length; for (; i < j; i++){ (f.call(this,this[i],i) ? matched : unmatched).push(this[i]); } return [matched,unmatched]; }; console.log([1,2,3,4,5].partition(function (n,i){ return n % 2 == 0; })); //=> [ [ 2,4 ],[ 1,5 ] ]
以上是大佬教程为你收集整理的javascript – 通过过滤功能划分数组全部内容,希望文章能够帮你解决javascript – 通过过滤功能划分数组所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。