๋ฐฐ์ด์ ํํฐ๋ง ํ๊ธฐ
filter
- ์ ๋ฌํ ์ฝ๋ฐฑ ํจ์๊ฐ True๋ฅผ ๋ฐํํ๋ ๋ชจ๋ ์์๋ฅผ ์๋ก์ด ๋ฐฐ์ด๋ก ๋ฐํ
- ๋ฐฐ์ด์์ ์ด๋ ํ ํน์ ํ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ์์๋ค์ ๋ค์๊ธ ์๋ก์ด ๋ฐฐ์ด๋ก ๋ฐํ ๋ฐ๊ณ ์ถ์ ๋
์ฌ์ฉ ํฉ๋๋ค.
const arr = [ { num: 1, color : "red" },
{ num: 2, color : "black" },
{ num: 3, color : "blue" },
{ num: 4, color : "green" },
{ num: 5, color : "blue" } ]
// color = blue ๋ง ๊ฐ์ ธ์ค๊ธฐ
const.log(arr.filter((elm) => elm.color === "blue")); // 3๋ฒ๊ณผ 5๋ฒ์ ๋ฐฐ์ด๋ก ๋ฐํ
๋ฐฐ์ด ์๋ฅด๊ธฐ
slice(์์์ง์ , ๋ง์ง๋ง์ง์ )
- ์ธ์๋ฅผ ์ ๋ฌํ์ง ์์ผ๋ฉด ์๋ณธ์ด ๋์ต๋๋ค.
- ์์์ง์ ์์ ~ ๋ง์ง๋ง์ง์ - 1 ๊น์ง๋ง ๋ฐํ ํฉ๋๋ค.
const arr = [
{ num: 1, color : "red" },
{ num: 2, color : "black" },
{ num: 3, color : "blue" },
{ num: 4, color : "green" },
{ num: 5, color : "blue" }
]
console.log(arr.slice(0, 2)); // ์ธ๋ฑ์ค 0๋ฒ๊ณผ 1๋ฒ ๋๊ฐ๋ฅผ ๋ฐํ ํฉ๋๋ค.
console.log(arr.slice(0, 4)); // ์ธ๋ฑ์ค 0๋ณ ๋ถํฐ 3๋ฒ ๊น์ง -> green ๊น์ง
๋ฐฐ์ด ๋ถ์ด๊ธฐ
concat
const arr1 = [
{ num: 1, color : "red" },
{ num: 2, color : "black" },
{ num: 3, color : "blue" }
]
const arr2 = [
{ num: 4, color : "green" },
{ num: 5, color : "blue" }
]
// arr1 ๋ค๋ก arr2 ๋ฅผ ๋ถ์
๋๋ค.
// ๊ทธ๋ฆฌ๊ณ ํ๋์ ๋ฐฐ์ด๋ก ๋ฐํ ๋ฐ์ต๋๋ค.
console.log(arr1.concat(arr2));
๋ฐฐ์ด ์ ๋ ฌํ๊ธฐ
sort
- ๋ฌธ์๋ฅผ ์ฌ์ ์์๋๋ก ์ ๋ ฌ
- ์๋กญ๊ฒ ์ ๋ ฌ๋ ๋ฐฐ์ด์ ๋ฐํํ๋ ๊ฒ์ด ์๋๋ผ, ์๋ณธ ๋ฐฐ์ด์ ์ ๋ ฌ ํฉ๋๋ค.
- ์ฆ,
chars.sort()
์ console ์ ์ถ๋ ฅํ์ง ์๊ณ , sort ๋ฅผ ํ ๋ฒ ํด์ฃผ๊ณ , ์๋ณธ ๋ฐฐ์ด์ ์ถ๋ ฅ ํ ๊ฒ์
๋๋ค.
let chars = ['๋', '๋ค', '๊ฐ']
chars.sort();
console.log(chars) // \['๊ฐ', '๋', '๋ค'\]
์ซ์ ๋ฐฐ์ด์ sort ๋ฅผ ์ฌ์ฉํ๋ฉด ?
- sort ๋ ์ซ์๊ฐ ์๋๋ผ ๋ฌธ์๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ ํฉ๋๋ค.
- ์ฌ์ ์์ผ๋ก ์ ๋ ฌ์ ํ์ฌ ์๋์ ๊ฐ์ ๊ฒฐ๊ณผ๊ฐ ๋์ค๊ฒ ๋ฉ๋๋ค.
- ์ด๋ด ๋๋
sort()
๋ฉ์๋์ ์ธ์๋ก ๋น๊ต ํจ์๋ฅผ ๋ง๋ค์ด์ ๋ฃ์ด์ผ ํฉ๋๋ค.
let numbers = [0, 1, 3, 2, 10, 30, 20];
number.sort()
console.log(numbers); // [0, 1, 10, 2, 20, 3, 30]
sort ๋ฉ์๋ ๋น๊ต ํจ์ ( ์ค๋ฆ์ฐจ์ )
let numbers = [0, 1, 3, 2, 10, 30, 20];
const compare = (a, b) => {
// 1. ํฌ๋ค : ํฐ ๊ฐ์ด ๋ค๋ก ๊ฐ์ผ ํ๋ค.
if(a > b){
return 1;
}
// 2. ์๋ค : ์์ ๊ฐ์ด ์์ผ๋ก ๊ฐ์ผ ํ๋ค.
if(a < b){
return -1;
}
// 3. ๊ฐ๋ค : ์๋ฆฌ๋ฅผ ๋ฐ๊พธ์ง ์๋๋ค.
return 0;
}
number.sort(compare);
console.log(numbers); // [0, 1, 2, 3, 10, 20, 30]
sort ๋ฉ์๋ ๋น๊ต ํจ์ ( ๋ด๋ฆผ์ฐจ์ )
let numbers = [0, 1, 3, 2, 10, 30, 20];
const compare = (a, b) => {
// 1. ํฌ๋ค : ํฐ ๊ฐ์ด ๋ค๋ก ๊ฐ์ผ ํ๋ค.
if(a > b){
return -1;
}
// 2. ์๋ค : ์์ ๊ฐ์ด ์์ผ๋ก ๊ฐ์ผ ํ๋ค.
if(a < b){
return 1;
}
// 3. ๊ฐ๋ค : ์๋ฆฌ๋ฅผ ๋ฐ๊พธ์ง ์๋๋ค.
return 0;
}
number.sort(compare);
console.log(numbers); // [30, 20, 10, 3, 2, 1, 0]
๋ฐฐ์ด์ ๋ชจ๋ ์์๋ฅผ ๋ฌธ์๋ก ํฉ์น๊ธฐ
join
- join() : () ์์๋ ๊ตฌ๋ถ์๊ฐ ๋ฉ๋๋ค.
- join() : ,
- join(" ") : ๊ณต๋ฐฑ
// color = blue ๋ง ๊ฐ์ ธ์ค๊ธฐ
const.log(arr.filter((elm) => elm.color === "blue")); // 3๋ฒ๊ณผ 5๋ฒ์ ๋ฐฐ์ด
์ฐธ๊ณ