Skip to content

Commit

Permalink
[ko] TypedArray.prototype.filter() 신규 번역 외 (mdn#22136)
Browse files Browse the repository at this point in the history
- TypedArray.prototype.filter() 신규 번역
- Array.prototype.filter() 최신화
  • Loading branch information
wisedog authored and ikenk committed Oct 31, 2024
1 parent 553534c commit 8fae54a
Show file tree
Hide file tree
Showing 2 changed files with 98 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@
title: Array.prototype.filter()
slug: Web/JavaScript/Reference/Global_Objects/Array/filter
l10n:
sourceCommit: b7ca46c94631967ecd9ce0fe36579be334a01275
sourceCommit: 57375b77984037c614982a9327bc96101824db89
---

{{JSRef}}

{{jsxref("Array")}} 인스턴스의 `filter()` 메서드는 주어진 배열의 일부에 대한 [얕은 복사본](/ko/docs/Glossary/Shallow_copy)을 생성하고, 주어진 배열에서 제공된 함수에 의해 구현된 테스트를 통과한 요소로만 필터링 합니다.

{{EmbedInteractiveExample("pages/js/array-filter.html","shorter")}}
{{EmbedInteractiveExample("pages/js/array-filter.html", "shorter")}}

## 구문

Expand All @@ -33,7 +33,7 @@ filter(callbackFn, thisArg)

### 반환 값

주어진 배열의 일부에 대한 [얕은 복사본](/ko/docs/Glossary/Shallow_copy)으로, 주어진 배열에서 제공된 함수에 의해 구현된 테스트를 통과한 요소로만 필터링 합니다. 테스트를 통과한 요소가 없으면 빈 배열이 반환됩니다.
주어진 배열에서 테스트를 통과한 요소만 포함하는 해당 배열의 [얕은 복사본](/ko/docs/Glossary/Shallow_copy) 배열입니다. 테스트를 통과한 요소가 없으면 빈 배열이 반환됩니다.

## 설명

Expand Down Expand Up @@ -141,6 +141,26 @@ console.log(filterItems(fruits, "ap")); // ['apple', 'grapes']
console.log(filterItems(fruits, "an")); // ['banana', 'mango', 'orange']
```

### callbackFn의 세 번째 인수 사용하기

`array` 인수는 배열의 다른 요소에 접근하려는 경우, 특히 배열을 참조하는 기존 변수가 없는 경우에 유용합니다. 다음 예제에서는 먼저 `map()`을 사용하여 각 이름에서 숫자 ID를 추출한 다음 `filter()`를 사용하여 인접한 이름보다 큰 이름을 선택합니다.

```js
const names = ["JC63", "Bob132", "Ursula89", "Ben96"];
const greatIDs = names
.map((name) => parseInt(name.match(/[0-9]+/)[0], 10))
.filter((id, idx, arr) => {
// arr 인수가 없으면 변수에 저장하지 않고는
// 중간 배열에 쉽게 접근할 수 없습니다.
if (idx > 0 && id <= arr[idx - 1]) return false;
if (idx < arr.length - 1 && id <= arr[idx + 1]) return false;
return true;
});
console.log(greatIDs); // [132, 96]
```

`array` 인수는 작성 중인 배열이 아닙니다. 따라서 콜백 함수에서 작성 중인 배열에 접근할 수 없습니다.

### 희소 배열에 filter() 사용

`filter()`는 빈 슬롯을 건너뜁니다.
Expand Down Expand Up @@ -217,7 +237,7 @@ console.log(deleteWords);
## 같이 보기

- [`core-js``Array.prototype.filter` 폴리필](https://github.com/zloirock/core-js#ecmascript-array)
- [인덱스된 컬렉션](/ko/docs/Web/JavaScript/Guide/Indexed_collections)
- [인덱스 기반 컬렉션](/ko/docs/Web/JavaScript/Guide/Indexed_collections) 가이드
- {{jsxref("Array")}}
- {{jsxref("Array.prototype.forEach()")}}
- {{jsxref("Array.prototype.every()")}}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
---
title: TypedArray.prototype.filter()
slug: Web/JavaScript/Reference/Global_Objects/TypedArray/filter
l10n:
sourceCommit: d9e66eca59d82c65166c65e7946332650da8f48f
---

{{JSRef}}

{{jsxref("TypedArray")}} 인스턴스의 **`filter()`** 메서드는 지정된 형식화 배열의 일부 복사본을 생성하며, 지정된 형식화 배열에서 제공된 함수에 의해 구현된 테스트를 통과한 요소로만 필터링됩니다. 이 메서드는 {{jsxref("Array.prototype.filter()")}}와 동일한 알고리즘을 사용합니다.

{{EmbedInteractiveExample("pages/js/typedarray-filter.html")}}

## 구문

```js-nolint
filter(callbackFn)
filter(callbackFn, thisArg)
```

### 매개변수

- `callbackFn`
- : 형식화 배열의 각 요소에 대해 실행할 함수입니다. 결과로 나올 형식화 배열에 요소를 유지하려면 [참 같은](/ko/docs/Glossary/Truthy) 값을 반환하고 그렇지 않으면 [거짓 같은](/ko/docs/Glossary/Falsy) 값을 반환해야 합니다. 이 함수는 다음 인수를 사용하여 호출됩니다.
- `element`
- : 형식화 배열에서 처리 중인 현재 요소.
- `index`
- : 형식화 배열에서 처리 중인 현재 요소의 인덱스.
- `array`
- : `filter()`가 호출된 형식화 배열.
- `thisArg` {{optional_inline}}
- : `callbackFn`을 실행할 때 `this` 값으로 사용할 값입니다. [순회 메서드](/ko/docs/Web/JavaScript/Reference/Global_Objects/Array#순회_메서드)를 참조하세요.

### 반환 값

주어진 형식화 배열에서 테스트를 통과한 요소만 포함하는 해당 배열의 배열의 복사본입니다. 테스트를 통과한 요소가 없으면 빈 배열이 반환됩니다.

## 설명

자세한 설명은 {{jsxref("Array.prototype.filter()")}}을 참고하시기 바랍니다. 이 메서드는 범용적이지 않으며 형식화 배열 인스턴스에서만 호출됩니다.

## 예제

### 모든 작은 값을 필터링

다음 예제는 `filter()`를 사용하여 주어진 요소의 값이 10보다 작은 값이 제거된 필터링된 형식화 배열을 만듭니다.

```js
function isBigEnough(element, index, array) {
return element >= 10;
}
new Uint8Array([12, 5, 8, 130, 44]).filter(isBigEnough);
// Uint8Array [ 12, 130, 44 ]
```

## 명세서

{{Specifications}}

## 브라우저 호환성

{{Compat}}

## 같이 보기

- [`core-js`에서 `TypedArray.prototype.filter`의 폴리필](https://github.com/zloirock/core-js#ecmascript-typed-arrays)
- [JavaScript 유형화 배열](/ko/docs/Web/JavaScript/Guide/Typed_arrays) 가이드
- {{jsxref("TypedArray")}}
- {{jsxref("TypedArray.prototype.forEach()")}}
- {{jsxref("TypedArray.prototype.every()")}}
- {{jsxref("TypedArray.prototype.map()")}}
- {{jsxref("TypedArray.prototype.some()")}}
- {{jsxref("TypedArray.prototype.reduce()")}}
- {{jsxref("Array.prototype.filter()")}}

0 comments on commit 8fae54a

Please sign in to comment.