JavaScript .filter() ๋ฉ์๋ ๐ญ
4694 ๋จ์ด functionalwebdevjavascriptbeginners
ํํฐ ๋ฐฉ๋ฒ
JavaScript์ filter() ๋ฉ์๋๋ ๋ฐฐ์ด์ ๊ฐ ์์๋ฅผ ๊ฐ์ ธ์ ์กฐ๊ฑด๋ฌธ์ ์ ์ฉํฉ๋๋ค. ์ด ์กฐ๊ฑด๋ฌธ์ด true๋ฅผ ๋ฐํํ๋ฉด ์์๊ฐ ์ถ๋ ฅ ๋ฐฐ์ด๋ก ํธ์๋ฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด ์์๊ฐ ์ถ๋ ฅ ๋ฐฐ์ด๋ก ํธ์๋์ง ์์ต๋๋ค.
filter() ๋ฉ์๋๋ ๊ธฐ์กด ๋ฐฐ์ด์์ ์ฃผ์ด์ง ๊ธฐ์ค์ ์ํ๋ ์์๋ก ์ ๋ฐฐ์ด์ ๋ง๋ญ๋๋ค.
ํต์ฌ๋ก
var first_array = arr.filter(
function callback(element, index, array) {
// Returns true or false
}[, thisArg])
filter์ ๊ตฌ๋ฌธ์ map์ ๊ตฌ๋ฌธ๊ณผ ๋น์ทํ์ง๋ง ์์๋ฅผ ์ ์งํ๋ ค๋ฉด ์ฝ๋ฐฑ ํจ์๊ฐ true๋ฅผ ๋ฐํํด์ผ ํ๊ณ ๊ทธ๋ ์ง ์์ผ๋ฉด false๋ฅผ ๋ฐํํด์ผ ํฉ๋๋ค. ์ฝ๋ฐฑ์์๋ ์์๋ง ํ์ํฉ๋๋ค.
์์
์๋ ์ฃผ์ด์ง ์์์ ํ์๋ "ํํฐ๋ง"๋์ด ์ง์๋ง ๋จ์ต๋๋ค.
const all_numbers = [1, 2, 3, 4];
const even_numbers = all_numbers.filter(number => number % 2 === 0);
console.log(even_numbers);
// [2, 4]
๋ค์ ์์์ filter()๋ ์ฑ์ ์ด 90 ์ด์์ธ ๋ชจ๋ ํ์์ ๊ฐ์ ธ์ค๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
const students = [
{ name: 'Mursal', grade: 96 },
{ name: 'Furqan', grade: 48 },
{ name: 'Ahmed', grade: 99 },
{ name: 'Anees', grade: 56 },
{ name: 'Burhan', grade: 90 }
];
const studentGrades = students.filter(
students => students.grade >= 90);
return studentGrades;
//[ { name: 'Mursal', grade: 96 },
// { name: 'Ahmed', grade: 99 },
// { name: 'Burhan', grade: 90 } ]
๋ค์ ๊ธฐ์ฌ์์๋ ๋ ๋ฉ์ง ๊ฒ์ ๋ํด ๋
ผ์ํ ๊ฒ์
๋๋ค.
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(JavaScript .filter() ๋ฉ์๋ ๐ญ), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค
https://dev.to/mursalfk/javascript-filter-method-1gl3
ํ
์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ
์ธ ๋ฐ๊ฒฌ์ ์ ๋
(Collection and Share based on the CC Protocol.)
var first_array = arr.filter(
function callback(element, index, array) {
// Returns true or false
}[, thisArg])
const all_numbers = [1, 2, 3, 4];
const even_numbers = all_numbers.filter(number => number % 2 === 0);
console.log(even_numbers);
// [2, 4]
const students = [
{ name: 'Mursal', grade: 96 },
{ name: 'Furqan', grade: 48 },
{ name: 'Ahmed', grade: 99 },
{ name: 'Anees', grade: 56 },
{ name: 'Burhan', grade: 90 }
];
const studentGrades = students.filter(
students => students.grade >= 90);
return studentGrades;
//[ { name: 'Mursal', grade: 96 },
// { name: 'Ahmed', grade: 99 },
// { name: 'Burhan', grade: 90 } ]
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(JavaScript .filter() ๋ฉ์๋ ๐ญ), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://dev.to/mursalfk/javascript-filter-method-1gl3ํ ์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค