간단한 배열 (배열)과 형식이 지정된 배열 (TypedArray)을 사용하는 응용 프로그램이 있습니다.모든 자바 스크립트 배열을 한 번에 확장
(min, max, sum, ...)과 같은 배열 유형에 필요한 확장을 몇 가지 개발했습니다.
하지만 여기 까다로운 부분이 있습니다. 자바 스크립트에서 모든 배열에 대해 만들어진 함수를 정의하는 방법은 무엇입니까?
모두 상속 계층이 있다면이 문제는 더 간단합니다. 그러나 지금까지 나는 더 이상 상위 클래스를 찾지 못했습니다. 지금은이 일을 해요 들어
:
// MIN FUNCTION
Array .prototype.min =
Int8Array .prototype.min =
Int16Array .prototype.min =
Int32Array .prototype.min =
Uint8Array .prototype.min =
Uint16Array .prototype.min =
Uint32Array .prototype.min =
Uint8ClampedArray .prototype.min =
Float32Array .prototype.min =
Float64Array .prototype.min = function() {
// my code;
}
// MAX FUNCTION
Array .prototype.max =
Int8Array .prototype.max =
Int16Array .prototype.max =
Int32Array .prototype.max =
Uint8Array .prototype.max =
Uint16Array .prototype.max =
Uint32Array .prototype.max =
Uint8ClampedArray .prototype.max =
Float32Array .prototype.max =
Float64Array .prototype.max = function() {
// my code;
}
// GO ON...
이 내 눈을 찢어하려는 보면 너무 기괴 망측 추한입니다.
어떻게 향상시킬 수 있습니까? 이러한 모든 유형을 연결하여 사용할 수있는 것이 있습니까?
EDITED 질문 :
이 어떻게 명시 적으로 자바 스크립트 배열의 모든 유형을 작성하지 않고이 코드를 작성할 수 있습니다?
TypedArrays는 프로토 타입을 공유하지 않는? _Also :'typed-array' 태그를 추가하는 것이 좋습니다. – evolutionxbox
배열을 전달하는 함수를 사용하지 않는 이유는 무엇입니까? 예 : 'Math.max.apply (null, yourArrayOfTypeX); '를 실행하면 잘 작동합니다. – schroffl
추가 할 메소드와 이름을 문자열로 받아 함수를 작성하고, 그 이름을 사용하여 각 프로토 타입에 메소드를 지정하는'prototype' 오브젝트를 반복합니다. –