๐Ÿ”ฅ # 20 javascript(๋ฐฐ์—ดํ•จ์ˆ˜)

๋ฐ•์ค€์„ยท2022๋…„ 9์›” 22์ผ

javascript

๋ชฉ๋ก ๋ณด๊ธฐ
20/22
post-thumbnail

๐Ÿ”ฅ ๋ฐฐ์—ดํ•จ์ˆ˜

์˜ค๋Š˜์€ ๋ฐฐ์—ดํ•จ์ˆ˜๋ฅผ ๊ณต๋ถ€ํ•ด ๋ณผ ๊ฒƒ์ด๋‹ค.
๋ฐฐ์—ด์— ๋Œ€ํ•œ ํ•จ์ˆ˜๊ฐ€ ์—ฌ๋Ÿฌ๊ฐœ ์žˆ๋‹ค ๊ทธ ์ค‘์— ์˜ค๋Š˜ ๋‹ค๋ค„๋ณผ ๊ฒƒ์€ forEach(), map(), filte(), some(), every(), find(), findIndex() ์ด๋‹ค.

  • forEach : ๋ฐ˜ํ™˜๊ฐ’์ด ์—†๋‹ค, ๋‹จ์ˆœ for๋ฌธ๊ณผ ๊ฐ™์ด ์ž‘๋™ํ•œ๋‹ค.
  • map : ๋ฐ˜ํ™˜๊ฐ’์„ ๋ฐฐ์—ด์— ๋‹ด์•„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
  • filter: ์กฐ๊ฑด์— ์ถฉ์กฑํ•˜๋Š”(true) ์•„์ดํ…œ๋งŒ ๋ฐฐ์—ด์— ๋‹ด์•„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
  • some: ์กฐ๊ฑด์— ์ถฉ์กฑํ•˜๋Š” ์•„์ดํ…œ์ด ํ•˜๋‚˜๋ผ๋„ ์žˆ์œผ๋ฉด true ๋ฐ˜ํ™˜, ์•„๋‹ˆ๋ฉด flase.
  • every: ๋ชจ๋“  ๋ฐฐ์—ด์— ์•„์ดํ…œ์ด ์กฐ๊ฑด์„ ์ถฉ์กฑํ•˜๋ฉด true ๋ฐ˜ํ™˜, ์•„๋‹ˆ๋ฉด false.
  • find : ์กฐ๊ฑด์— ์ถฉ์กฑํ•˜๋Š” ์•„์ดํ…œ ํ•˜๋‚˜๋งŒ ๋ฐ˜ํ™˜(์—ฌ๋Ÿฌ๊ฐœ๋ผ๋ฉด ์ฒซ๋ฒˆ์งธ๊ฒƒ๋งŒ ๋ฐ˜ํ™˜)
  • findIndex : ์กฐ๊ฑด์— ์ถฉ์กฑํ•˜๋Š” ์•„์ดํ…œ์˜ ์ธ๋ฑ์Šค๊ฐ’ ๋ฐ˜ํ™˜ (์—ฌ๋Ÿฌ๊ฐœ๋ผ๋ฉด ์ฒซ๋ฒˆ์งธ์•„์ดํ…œ์˜ ์ธ๋ฑ์Šค๋ฒˆํ˜ธ๋งŒ ๋ฐ˜ํ™˜)

๐Ÿฑ forEach

๊ธฐ์กด์— for๋ฌธ์„ ๋Œ€์ฒดํ•ด์„œ ์“ธ ์ˆ˜ ์žˆ๋‹ค. for๋ฌธ์„ ์จ๋„๋˜์ง€๋งŒ for๋ฌธ๋ณด๋‹ค forEach๋ฅผ ์“ฐ๋ฉด ๋” ๊ฐ„๋‹จํ•˜๊ฒŒ ์“ธ ์ˆ˜ ์žˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด name์ด๋ผ๋Š” ๋ฐฐ์—ด์ด ์žˆ๋‹ค.

let names = ["Leo",
"Lio",
"Lee",
"Luna"
];

์—ฌ๊ธฐ์„œ for๋ฌธ์€

for(let i=0; i<names.length; i++){
    console.log(names[i]);
}

ํ•˜์ง€๋งŒ forEach ๋ฉ”์„œ๋“œ๋ฅผ ์“ด๋‹ค๋ฉด ๋” ๊ฐ„๋‹จํ•˜๊ฒŒ ์“ด๋‹ค.

function printName(item){
    console.log(item); //์ด item์„ ๋ˆ„๊ฐ€์ฃผ๋А๋ƒ ๋ฐ”๋กœ forEach()๊ฐ€ ์•Œ์•„์„œ ์ค€๋‹ค.
}

// names.forEach(ํ•จ์ˆ˜) = ๋ฐ˜ํ™˜ํ•ด์ฃผ๋Š” ๊ฐ’์ด ์—†๋‹ค.
names.forEach(printName);// forEach๊ฐ€ ์•Œ์•„์„œ ํšŒ์ „์„ ํ•˜๋ฉด์„œ ๋งค๋ฒˆ ๋ฐฐ์—ด์˜ ์•„์ดํ…œ์„ ํ•˜๋‚˜์”ฉ ๋„˜๊ธด๋‹ค.

๐Ÿ™†โ€โ™‚๏ธ ์ต๋ช…ํ•จ์ˆ˜๋กœ ๋„ ์“ธ ์ˆ˜ ์žˆ๋‹ค.

// ์ต๋ช…ํ•จ์ˆ˜
names.forEach(function(item){
    console.log(item); //์ต๋ช…ํ•จ์ˆ˜๋Š” ๋ถˆํ•„์š”ํ•˜๊ฒŒ ๋ฉ”๋ชจ๋ฆฌ ์ฐจ์ง€ ์•ˆํ•˜๊ณ  ์‚ฌ์šฉ๋˜๊ณ  ์‚ฌ๋ผ์ง
});

๐Ÿ™†โ€โ™‚๏ธ์ต๋ช…ํ•จ์ˆ˜(ES6)

// ์ต๋ช…ํ•จ์ˆ˜(ES6)
names.forEach((item)=>{
    console.log(item);
});

๐Ÿ™†โ€โ™‚๏ธ ์ธ๋ฑ์Šค ๋ฒˆํ˜ธ ๋„˜๊ฒจ์ฃผ๊ธฐ

// ๋ฐฐ์—ด์— ์ธ๋ฑ์Šค ๋ฒˆํ˜ธ๋„ ๋„˜๊ฒจ์ค€๋‹ค.
names.forEach((item, index)=>{
    console.log(item, index);
});

๐Ÿฑ map

map ๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š” ๋ฐฐ์—ด์ด ๋“ค์–ด์žˆ๋‹ค. ๋ฐ˜๋“œ์‹œ ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

let date = names.map((item)=>{
    return item; // ์–ด๋–ค ๊ฒƒ์„ ๋ฆฌํ„ดํ• ์ง€๋Š” ์—ฌ๊ธฐ์„œ ์ •ํ•œ๋‹ค.
});
console.log(date);

๊ทธ๋ ‡๋‹ค๋ฉด ์ด map() ํ•จ์ˆ˜๋Š” ์–ธ์ œ ๋งŽ์ด ์“ฐ์ผ๊นŒ?
์˜ˆ๋ฅผ ๋“ค์–ด array ์•ˆ์— ๊ฐ์ฒด๋“ค์ด ์žˆ์„ ๋•Œ ๋‚˜๋Š” name๋งŒ ๋ชจ์•„์„œ ํ”„๋ฆฐํŠธ ํ•˜๊ณ ์‹ถ๋‹ค.

let ceoList=[{name:"rina", age:23, ceo:true},
{name:"park", age:40, ceo:true},
{name:"kim", age:45, ceo:false}
]

let ceoDate = ceoList.map((item)=>{ //์ด๋ ‡๊ฒŒ ์ž‘์„ฑํ•˜๋ฉด ๋ฐฐ์—ด์— name๋งŒ ๊ฐ€์ ธ์™€
    return item.name;   //item์— ๋„ค์ž„๋งŒ ๋ฆฌํ„ด์‹œํ‚ค๋ฉด ๋œ๋‹ค.
});
console.log(ceoDate);

๐Ÿฑ filter

์กฐ๊ฑด์„ ๋„ฃ๊ณ  ์กฐ๊ฑด์— ๋Œ€ํ•ด ์ฐธ์ธ ๊ฒƒ๋งŒ ๋ฐ˜ํ™˜๋จ

let names = ["Leo",
"Lio",
"Lee",
"Luna"
];

let ceoList=[{name:"rina", age:23, ceo:true},
{name:"park", age:40, ceo:true},
{name:"kim", age:45, ceo:false}
]

let ceoDate2 = ceoList.filter((item)=>{ 
    return item.age==23; // ๋‚˜์ด๊ฐ€ 23์‚ด์ธ ์‚ฌ๋žŒ๋งŒ ํ•„ํ„ฐ๋ง ํ•ด์ค˜
});
console.log(ceoDate2);

let ceoDate3 = names.filter((item)=>{ 
    return item.startsWith("L"); //์ฒซ๊ธ€์ž๊ฐ€ L๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ ๋‹ค ํ•„ํ„ฐ๋ง ํ•ด์ค˜.
});
console.log(ceoDate3);

๐Ÿฑ some

let names = ["Leo",
"Lio",
"Lee",
"Luna"
];

let ceoDate4 = names.some((item)=>{ 
    return item.startsWith("L"); //์ฒซ๊ธ€์ž๊ฐ€ L๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์ด ํ•˜๋‚˜๋ผ๋„ ์žˆ๋‚˜?
});
console.log("L๋กœ ์‹œ์ž‘ํ•˜๋Š” : ",ceoDate4); // true

๐Ÿฑ every

let names = ["Leo",
"Lio",
"Lee",
"Luna"
];

let ceoDate5 = names.every((item)=>{ 
    return item.startsWith("L"); //์ฒซ๊ธ€์ž๊ฐ€ L๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ์ด ๋ชจ๋‘ ์žˆ๋‹ˆ?
});
console.log(ceoDate5); //true

๐Ÿฑ find

let names = ["Leo",
"Lio",
"Lee",
"Luna"
];

let ceoDate6 = names.find((item)=>{ 
    return item.startsWith("L"); //์ฒซ๊ธ€์ž๊ฐ€ L๋กœ ์‹œ์ž‘ํ•˜๋Š” ์ฒซ๋ฒˆ์งธ ์•„์ดํ…œ
});
console.log(ceoDate6); //Leo

๐Ÿฑ findIndex

let names = ["Leo",
"Lio",
"Lee",
"Luna"
];

let ceoDate7 = names.findIndex((item)=>{ 
    return item.startsWith("Luna"); //Luna์— ์ธ๋ฑ์Šค ๋ฒˆํ˜ธ.
});
console.log(ceoDate7);
profile
์•ˆ๋…•ํ•˜์„ธ์š” ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž์ž…๋‹ˆ๋‹ค. ๊ธ€์„ ์ด์ „ ์ค‘์ž…๋‹ˆ๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€