배열을 데시메이트하는 방법.
코드: 붐 💣
export function decimateArray(arr, passes = 1, fidelity = 2) {
let tmpArr = arr.filter((_, index) => index % fidelity === 0);
passes--;
if (passes) {
tmpArr = decimateArray(tmpArr, passes, fidelity);
}
return tmpArr;
}
사용 사례:
"I have a large array of xy coordinates, I need it to draw freehand on canvas but it's too much data to work with quickly, I just want to draw an approximate polygon. I want the array to be smaller so I can more efficiently loop through the data and I dont care about all of the data just the start and end."
어떻게?
데이터의 인덱스가 전달된 모듈러스fidelity
인 경우 배열이 제공되고 이 데이터를 유지하고 이 데이터 세트를 주어진 수만큼 재귀적으로 실행합니다. passes
.
영어로 부탁해?
큰 배열이 들어가고 세부 사항이 적은 작은 배열이 나옵니다.
Reference
이 문제에 관하여(배열을 데시메이트하는 방법.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/adam_cyclones/how-to-decimate-an-array-44fj
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
export function decimateArray(arr, passes = 1, fidelity = 2) {
let tmpArr = arr.filter((_, index) => index % fidelity === 0);
passes--;
if (passes) {
tmpArr = decimateArray(tmpArr, passes, fidelity);
}
return tmpArr;
}
"I have a large array of xy coordinates, I need it to draw freehand on canvas but it's too much data to work with quickly, I just want to draw an approximate polygon. I want the array to be smaller so I can more efficiently loop through the data and I dont care about all of the data just the start and end."
Reference
이 문제에 관하여(배열을 데시메이트하는 방법.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/adam_cyclones/how-to-decimate-an-array-44fj텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)