length๋ ๋ฐฐ์ด์์ '๋ช ๊ฐ'๊ฐ ๋ค์ด์๋์ง, ์ฆ ๋ฐฐ์ด์ ๊ธธ์ด๋ฅผ ๋ฐํํฉ๋๋ค. ์ฝ๋๋ฅผ ๋ณด๋ฉฐ ์ดํด๋ฅผ ํ๋ฉด ํธํฉ๋๋ค.
const fruits = [apple, banana, orange];
console.log(fruits.length);
๊ฒฐ๊ณผ ๊ฐ = 3
์ด๋ฌํ ๊ฒฐ๊ณผ๊ฐ ๋์ต๋๋ค. ์ฌ๊ธฐ์ ์ค์ํ ์ ์ ์ฐ๋ฆฌ๊ฐ ์ง์ ์ ์ธ ๊ฐ์ ๋ฐฐ์ด์์ ์ถ์ถํ ๋์ ์์ง์ apple์ด ์ ์ฅ๋ ๊ณณ์ 1๋ฒ์ด ์๋ 0๋ฒ์ผ๋ก ์๊ณ ์์ต๋๋ค. ์๋ฅผ ๋ค๋ฉด ์ฐ๋ฆฌ๊ฐ 'banana'๋ฅผ ์ฝ์์ ์ถ๋ ฅํ๊ณ ์ถ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ฝ๋๋ฅผ ์์ฑํด์ผ ํฉ๋๋ค.
const fruits = [apple, banana, orange];
console.log(fruits[1]);
๊ฒฐ๊ณผ ๊ฐ = banana
์ฆ, fruits.length๋ ๋ฐฐ์ด์ ๊ธธ์ด๋ฅผ ๋ฐํํฉ๋๋ค. ์ด 3๊ฐ์ ๋ฐฐ์ด์์ ์์๊ฐ ํฌํจ๋์ด ์๊ธฐ ๋๋ฌธ์ 3์ด ๋ฐํ ๋์์ต๋๋ค. ํ์ง๋ง ์ปดํจํฐ์ ํ๋ก์ธ์ค๋ก ํ์ฌ ๋ฐฐ์ด์ ์์๋ฅผ ๋ฐ์ ธ๋ณด๋ฉด [ 0 (apple), 1(banana), 2(orange) ]๋ก ๊ธฐ์ต๋๊ณ ์๋ ๊ฒ ์ ๋๋ค.
์ฐ๋ฆฌ๋ ๊ณผ์ ๋ฅผ ๋ฐ์์ต๋๋ค.์ด์ ํ์๊ฐ์ ํ ์ ๋ณด๋ฅผ ์ถ๋ ฅํด์ผํ๋๋ฐ, ํ์ฌ ๋ฐฑ์๋๋ก ๋ถํฐ ๋ฐ์ Api๋ ๋ฐฐ์ด์์ ์ ์ฅ๋ object ํ์์ด๋ฉฐ 5๋ฒ์งธ ์ด์์ ์๋ฃ๋ค์ ์ค๋ ์ ์ฅ๋ ๋ด์ฉ์ด๋ฏ๋ก ๊ทธ ๋ถ๋ถ์ ์ ์ธํ๊ณ ์ถ๋ ฅ์ ํฉ๋๋ค.
//api ์์
const user = [
{name:'jun', old:'24', phonenumber:'01000000000'},
{name:'jin', old:'25', phonenumber:'01011111111'},
{name:'lin', old:'30', phonenumber:'01022222222'},
...
]
์ด๋ฌํ Api๋ฅผ ๋ฐ์๋ค๊ณ ๊ฐ์ ์ ํฉ๋๋ค. ... ์ดํ๋ก๋ ๊ณ์ ๋ค๋ฅธ ๋ด์ฉ์ object๋ค์ด ์ ์ฅ๋์ด ์์ต๋๋ค. ๊ทธ๋ ๋ค๋ฉด ์ฐ๋ฆฌ๋ ์ด๋ฌํ ์ฝ๋๋ก 5๋ฒ์งธ ๊น์ง์ object๋ค์ ์ถ์ถํ ์ ์์ ๊ฒ ์ ๋๋ค.
if (user.length > 5) {
user.length = 5;
}
console.log(user);
๊ทธ๋ฆฌ๊ณ ๊ทธ ์ค 2๋ฒ์งธ ์ ์ ์ ์ ๋ณด๋ฅผ ๋ถ๋ฌ์ค๊ณ ์ถ๋ค๋ฉด
console.log(user[1])
์ด๋ ๊ฒ ํ๋ฉด ๋ฐฐ์ด ์ค 5๋ฒ ์ด์ ์ ์ ์ ๋ค์ ์ ๋ณด์ ๊ทธ ์ค 2๋ฒ์งธ ์์์ ํด๋น๋๋ ์ ์ ์ ์ ๋ณด๋ฅผ ๊ฐ์ ธ์ฌ ์ ์์ ๊ฒ ์ ๋๋ค.
isArray๋ ๊ฐ์ฒด๊ฐ ๋ฐฐ์ด์ธ์ง ์๋์ง๋ฅผ booleanํ์์ผ๋ก ๋ฐํํด ์ค๋๋ค.
์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
const numbers = [1,2,3,4,5]
const people = {'jun','jin','people}
console.log(Array.isArray(numbers))
console.log(Array.isArray(people))
๊ฒฐ๊ณผ ๊ฐ : true, false
์ด๋ฐ ์์ผ๋ก ํน์ object๊ฐ ๋ฐฐ์ด์ธ์ง ์๋์ง ํ์ธํด์ฃผ๋ ์ฝ๋ฐฑํจ์ ์ ๋๋ค.
concat์ ๋ ๋ฐฐ์ด์ ํ๋๋ก ํฉ์ณ์ฃผ๋ ๋ด์ฅํจ์ ์ ๋๋ค. ๋ฐฐ์ด1๊ณผ ๋ฐฐ์ด2๋ฅผ concatํ๋ฉด ๋์ด ํฉ์ณ์ง ๋ฐฐ์ด์ด ๋๋ ๊ฒ ์ ๋๋ค.
์ ์ธ ๋ฐฉ์์ Arr1.concat(Arr2) ์ด๋ฐ ์์ผ๋ก ๋ฐฐ์ด1์ ๋ค์ concatํจ์๋ฅผ ๋ถ๋ฌ์ ์ธ์๋ก Arr2๋ฅผ ๋ค๋ก ๋ถํ๋ ํ์์
๋๋ค. ๋ค์ํ๊ฒ ํ์ฉํ ์ ์์ต๋๋ค.
๋ฐฐ์ด๋ก ๋ง๋ค์ด์ง ๊ฐ์ฒด๊ฐ ์๋ ๊ฒ์ด ๋ค์ด์๋ ์๋์ผ๋ก ๊ทธ ๊ฐ์ฒด์ ์ธ์๋ก์จ ๋ค์ด๊ฐ๊ฒ ๋ฉ๋๋ค.
์ฝ๋๋ก ์๋ฅผ ๋ค์ด ๋ด ๋๋ค.
const number = [1, 2, 3];
const people = ['์ฒ ์', '์ํฌ', 'ํ์ด']
console.log(number.concat(people))
๊ฒฐ๊ณผ ๊ฐ: [1, 2, 3,'์ฒ ์','์ํฌ','ํ์ด']
concat์ ์์ ๋ณต์ฌ์ ๋๋ค. ๋ฐ๋ผ์ number.concat(people) ๋ฅผ ํ์ฌ๋ ์๋ณธ์ ๋ณํจ์ด ์์ต๋๋ค.
๋ฐฐ์ด ์์ ์์๋ฅผ ํ๋์ ์ ์ ์ธ ๊ฐ์ผ๋ก ์ฑ์๋๋ค. ์ฒซ ๋ฒ์งธ ๋งค๊ฐ๋ณ์๋ ์ฑ์ธ ๊ฐ, ๊ทธ ๋ค์์ ์ด๋์ ๋ถํฐ ์ฑ์ธ ๊ฒ์ธ์ง ๊ทธ ๋ค์์ ๋ง๋ฌด๋ฆฌ๋ฅผ ์ด๋์ ํ ๊ฒ์ธ์ง๋ฅผ ์ ํฉ๋๋ค.
const numbers = [1, 2, 3, 4]
console.log(numbers.fill(5,1)
console.log(numbers.fill(5,2,7)
๊ฒฐ๊ณผ ๊ฐ: [ 1, 5, 5, 5 ], [ 1, 2, 5 ,5]
๋ง์ฝ ๋ง๋ฌด๋ฆฌ ๋งค๊ฐ๋ณ์๊ฐ ์ ์ธ๋ ๋ฐฐ์ด์ ํฌ๊ธฐ๋ณด๋ค ํฌ๋ค๋ฉด ์๋ ์ ์ธ๋ ๋ฐฐ์ด์ผ ํฌ๊ธฐ๊น์ง๋ง ์ถ๋ ฅ๋ฉ๋๋ค.
filter๋ ๋ณดํต ์ฌ์ดํธ์ ํํ ์๋ '๊ฒ์'๋ฑ์ ๊ธฐ๋ฅ์ ํ์ฉ๋ฉ๋๋ค. filter๋ด์ฅํจ์๋ ๋ง ๊ทธ๋๋ก ๋ฐฐ์ด์์ ํน์ ๊ฐ์ ๊ฑธ๋ฌ๋ด๋ ํจ์์ ๋๋ค.
๊ฐ ์์๋ฅผ ์ํํ ํจ์๋ฅผ ์ฝ๋ฐฑํจ์๋ก ๋ฐ๊ณ , ๊ทธ ํจ์์ true๋ฅผ ๋ฐํํ๋ ๊ฐ๋ค์ ๋ด๊ณ false๋ฅผ ๋ฐํํ๋ ๊ฐ๋ค์ ๊ฑธ๋ฌ๋ ๋๋ค.
๋ค์ ์ฝ๋๋ก ์ดํด๋ด ๋๋ค.
const words = ['hello', 'bye', 'people', 'monkey', 'computer']
const lowWords = words.filter(word => word.length < 5);
console.log(lowWords);
๊ฒฐ๊ณผ ๊ฐ: ["bye"]
๋ฐฐ์ด ๋ด์์ ์ฝ๋ฐฑํจ์๋ ์์ word๋ฅผ ์ธ์๋ก ๋ฐ๊ณ word์ ๊ธธ์ด๋ 5๋ณด๋ค ์์ต๋๋ค. ๋ฐ๋ผ์ true๋ฅผ ๋ฐํํ๋ ์์๋ bye๋ฐ์ ์๊ธฐ ๋๋ฌธ์ bye๋ง ์ฝ์์ ์ถ๋ ฅ๋๊ฒ ๋ฉ๋๋ค.
๋ค์์ผ๋ก๋ ํน์ ๋ฌธ์์ด์ ํฌํจํ๋ ๊ฐ๋ง ๋ฐํํ๋ '๊ฒ์'ํจ์๋ฅผ ์์ฑํด ๋ด ๋๋ค.
const fruits = ['apple', 'banana', 'grapes', 'mango', 'orange'];
//๊ฒ์ ์กฐ๊ฑด์ ๋ฐ๋ฅธ ํํฐ๋ง
const filterItems = (query) => {
return fruits.filter((el) =>
el.toLowerCase().indexOf(query.toLowerCase()) > -1
);
}
console.log(filterItems('ap'));
console.log(filterItems('an'));
๊ฒฐ๊ณผ ๊ฐ1 : ['apple', grapes']
๊ฒฐ๊ณผ ๊ฐ2: ['mango', 'banana']
์ด๋ ๊ฒ ํํฐํจ์๋ ํน์ ๋ฐฐ์ด์์ ๊ฑธ๋ฌ๋ด๊ณ ์ถ์ ์์ ์ ํ ๋ ์ฌ์ฉ์ด ๋ฉ๋๋ค.
๋ค์ํ ๋ฐฐ์ด๋ด์ฅํจ์๊ฐ ์์ต๋๋ค. ์ด๋ฌํ ๋ฐฐ์ด๋ด์ฅํจ์๋ ์ธ ์ผ์ด ๋ง์ ๊ฒ ๊ฐ๊ณ ์ค์ ๋ก ๋ง์ด ์ฌ์ฉ๋๊ณ ์๋ค๊ณ ํ๋ ๋ณต์ตํ๋ฉด์ ์ ๋ฆฌ๋ฅผ ํ๋ฉด ๋ถ๋ช ์ธ ์ผ์ด ๋ง์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ ๋ฐฐ์ด๋ด์ฅํจ์๋ฅผ ์๋ฆฌ์ฆ๋ก ๊ณ์ ์ฐ์ฌํ ๊ณํ์ ๋๋ค.