javascript - js基础问题reduce的使用
本文介绍了javascript - js基础问题reduce的使用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
[].reduce.call('cbaacfdeaebb',function(p,n){ return p[n] = (p[n] || 0) + 1,p; },{}),
看到过这样的代码,不太明白工作原理。reduce通过call就能应用到string上?有什么限制没有?工作原理是?能把string换成其他类型吗?比如map。
js新手,希望大神能详细讲解一下。
解决方案
JavaScript
数组方法是特意定义为通用的,因此他们不仅应用在真正的数组而且在类数组对象上也能正确工作,但是类数组对象没有继承自Array.prototype
,所以可以通过Function.call
间接地调用。
而String
可以作为类数组对象使用,因为有数值length属性和对应非负整数属性。
这篇关于javascript - js基础问题reduce的使用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文