[].reduce.call('cbaacfdeaebb',function(p,n){ return p[n] = (p[n] || 0) + 1,p; },{}),
이런 코드를 본 적이 있는데 어떻게 작동하는지 잘 모르겠습니다. 호출을 통해 문자열에 축소를 적용할 수 있나요? 제한사항이 있나요? 어떻게 작동하나요? 문자열을 다른 유형으로 변경할 수 있나요? 지도 등.
저는 js를 처음 접하는데, 누가 자세히 설명해 주셨으면 좋겠습니다.
仅有的幸福2017-05-19 10:42:10
JavaScript
배열 메소드는 의도적으로 일반으로 정의되므로 실제 배열뿐만 아니라 Array.prototype
에서 상속되지 않는 배열과 유사한 객체에서도 올바르게 작동합니다. Function.call
을 통해 간접적으로 호출할 수 있습니다. JavaScript
数组方法是特意定义为通用的,因此他们不仅应用在真正的数组而且在类数组对象上也能正确工作,但是类数组对象没有继承自Array.prototype
,所以可以通过Function.call
间接地调用。
而String
String
은 숫자 길이 속성과 그에 대응하는 음수가 아닌 정수 속성을 갖기 때문에 유사 배열 객체로 사용할 수 있습니다. 🎜