๐Ÿ”ฅ # 21 javascript(๋ฐฐ์—ดํ•จ์ˆ˜๋ฌธ์ œ)

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

javascript

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

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

์•„๋ž˜ ๋ฐฐ์—ด์ด ์žˆ๋‹ค. ์ด ๋ฐฐ์—ด๋กœ ๋ชจ๋“  ๋ฌธ์ œ๊ฐ€ ๋‚˜์˜จ๋‹ค. ๋ฌธ์ œ์—์„œ ๋‚˜์˜ค๋Š” ๋ฐฐ์—ดํ•จ์ˆ˜๋Š”
map, filter, some, every, find, findIndex๊ฐ€ ๋‚˜์˜จ๋‹ค.

let names = [
    "Steven Paul Jobs",
    "Bill Gates",
    "Mark Elliot Zuckerberg",
    "Elon Musk",
    "Jeff Bezos",
    "Warren Edward Buffett",
    "Larry Page",
    "Larry Ellison",
    "Tim Cook",
    "Lloyd Blankfein",
  ];

๐Ÿฑ map

  • ๋ชจ๋“  ๋ฐฐ์—ด ์š”์†Œ์— ๋Œ€ํ•œ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ์ƒˆ ๋ฐฐ์—ด์„ ๋งŒ๋“ค๊ณ  ๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ์— ๋Œ€ํ•ด ํ•œ ๋ฒˆ์”ฉ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•œ๋‹ค.

๋ชจ๋“  ์ด๋ฆ„์„ ๋Œ€๋ฌธ์ž๋กœ ๋ฐ”๊พธ์–ด์„œ ์ถœ๋ ฅํ•˜์‹œ์˜ค.

let nameUpper = names.map((item)=>{
    return item.toUpperCase();// toUpperCase() ๋Œ€๋ฌธ์ž๋กœ ๋ฐ”๊พธ๋Š” ํ•จ์ˆ˜
});
console.log("๋Œ€๋ฌธ์ž : ",nameUpper); //์ถœ๋ ฅ.

์„ฑ์„์ œ์™ธํ•œ ์ด๋ฆ„๋งŒ ์ถœ๋ ฅํ•˜์‹œ์˜ค. (์˜ˆ-[โ€œStevenโ€,โ€œBillโ€,โ€œMarkโ€,โ€œElonโ€โ€ฆ])

let LastName = names.map((item)=>{
    return item.split(" ")[0];// ๋ฐฐ์—ด์˜ ์žˆ๋Š” ๋ฌธ์ž๋ฅผ ๊ธฐ์ค€์„ ์ •ํ•ด์ฃผ๊ณ  ์ž๋ฅธํ›„ ์ž๋ฅธ ๋ฌธ์ž๋ฅผ ์ธ๋ฑ์Šค 0๋ฒˆ์„ return ํ•œ๋‹ค.
});
console.log("์ด๋ฆ„๋งŒ : ",LastName);

// ์ด๋ฆ„์˜ ์ด๋‹ˆ์…œ๋งŒ ์ถœ๋ ฅํ•˜์‹œ์˜ค. (์˜ˆ-[โ€œSPUโ€,โ€œBGโ€,โ€œMEZโ€,โ€œEMโ€โ€ฆ])

let initialOnly = names.map((item) => {
    let splitName = item.split(" "); // ๋ฐฐ์—ด์˜ ์žˆ๋Š” ๋ฌธ์ž๋ฅผ ๊ธฐ์ค€์„ ์ •ํ•ด์ฃผ๊ณ  ์ž๋ฅธ๋‹ค.
    let initial = ""; //initial๋ฅผ ์„ ์–ธํ›„ ๊ฐ’์„ ๋น„์›Œ๋†“๋Š”๋‹ค.
    splitName.forEach((nameItem) => (initial += nameItem[0])); //splitName์— forEanh๋ฅผ ์‚ฌ์šฉํ•ด initialdp ์ž๋ฅธ ๋ฐฐ์—ด์— 0๋ฒˆ์งธ ์ธ๋ฑ์Šค์˜ ๋ฌธ์ž๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.
    return initial; //์ถ”๊ฐ€๋œ ๊ฐ’์„ return ์‹œํ‚ค๋ฉด ์ด๋‹ˆ์…œ๋งŒ ๋‚˜์˜จ๋‹ค.
  })
console.log("์ด๋‹ˆ์…œ : ",initialOnly);

๐Ÿฑ filter

  • ํ•จ์ˆ˜์—์„œ ์ œ๊ณตํ•˜๋Š” ์กฐ๊ฑด์— ์ฐธ์ธ ์š”์†Œ๋กœ ์ฑ„์›Œ์ง„ ์ƒˆ ๋ฐฐ์—ด์„ ๋งŒ๋“ ๋‹ค.

์ด๋ฆ„์— a๋ฅผ ํฌํ•จํ•œ ์‚ฌ๋žŒ๋“ค์„ ์ถœ๋ ฅํ•˜์‹œ์˜ค.

let name_a = names.filter((item)=>{
	return itme.filter("a");
});
console.log("aํฌํ•จ : ",name_a);

์ด๋ฆ„์— ๊ฐ™์€ ๊ธ€์ž๊ฐ€ ์—ฐ์†ํ•ด์„œ ๋“ค์–ด๊ฐ„ ์‚ฌ๋žŒ์„ ์ถœ๋ ฅํ•˜์‹œ์˜ค. (์˜ˆ-tt,ff,ll ์ด๋Ÿฐ ๊ธ€์ž๋“ค)

let doubleLetter =  names.filter((item) => {
    let splitName = item.split("");//ํ•œ๊ธ€์ž ํ•œ๊ธ€์ž ์”ฉ ์ž๋ฅธ๋‹ค.
    return splitName.some((letter, index) => letter == splitName[index + 1]); // letter์— ํ•œ๊ธ€์ž ์”ฉ ๋„ฃ์–ด์„œ ๋น„๊ตํ•˜๊ณ  ๊ฐ™์€ ๊ธ€์ž๊ฐ€ ์žˆ์œผ๋ฉด true๋ฅผ ๋ฐ˜ํ™˜ ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ . filter๋Š” ๊ฐ’์ด ๋‚˜์˜จ ์•„์ดํ…œ์„ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์•ˆ์— ์ €์žฅ์„ ํ•˜๊ฒŒ๋œ๋‹ค.
});
console.log("์—ฐ์†๊ธ€์ž : ",doubleLetter);

๐Ÿฑ some

  • ๋ฐฐ์—ด ์š”์†Œ์˜ ์กฐ๊ฑด์ด ์ฐธ์ธ์ง€ ํ™•์ธํ•œ๋‹ค(์ฝœ๋ฐฑ ํ•จ์ˆ˜๋กœ ์ œ๊ณต๋จ). ํ•จ์ˆ˜๊ฐ€ ๋ฐฐ์—ด ์š”์†Œ ์ค‘ ํ•˜๋‚˜์— ๋Œ€ํ•ด ๋ฐ˜ํ™˜ ํ•˜๋ฉด some()๋ฉ”์„œ๋“œ๊ฐ€ ๋ฐ˜ํ™˜ true๋˜๊ณ  ์ค‘์ง€๋œ๋‹ค.

์ „์ฒด ์ด๋ฆ„์˜ ๊ธธ์ด๊ฐ€ 20์ž ์ด์ƒ์ธ ์‚ฌ๋žŒ์ด ์žˆ๋Š”๊ฐ€?

let name_length = names.some((item)=>{
	return name_length.length >= 20; // name_length์— ๊ธธ์ด๊ฐ€ 20๊ธ€์ž ์ด์ƒ์ด๋ฉด return
});
console.log("20์ž ์ด์ƒ : ",name_length);

์„ฑ์„ ์ œ์™ธํ•œ ์ด๋ฆ„์— p๋ฅผ ํฌํ•จํ•œ ์‚ฌ๋žŒ์ด ์žˆ๋Š”๊ฐ€?(๋Œ€์†Œ๋ฌธ์ž ์ƒ๊ด€ no)

let name_p = names.some((item)=>{
	let splicName = item.spilt(" "); // ๋ฐฐ์—ด์— ๊ณต๋ฐฑ์„ ๊ธฐ์ค€์œผ๋กœ ์ž๋ฅธ๋‹ค.
  	splicName.pop();// ์ด๋ฆ„ ๋งจ๋’ท๋ถ€๋ถ„์ด ์„ฑ์ด๋‹ˆ๊นŒ ์„ฑ์„ ์ œ๊ฑฐํ•œ๋‹ค.
  	return splitName.some(eachName=>eachName.toLocaleLowerCase().includes("p"));
	//splitName์—์„œ ์†Œ๋ฌธ์ž๋กœ ๋ณ‘๊ฒฝํ•˜๊ณ  includes(ํฌํ•จ๋˜์–ด์žˆ๋‚˜?)๋กœ p๊ฐ€ ํฌํ•จ๋œ ์ด๋ฆ„๋งŒ return ํ•œ๋‹ค.
});

๐Ÿฑ every

  • ๋ฐฐ์—ด ์š”์†Œ์˜ ์กฐ๊ฑด์ด ๋ชจ๋‘ ์ฐธ์ธ๊ฒฝ์šฐ true๋ฅผ ์ถœ๋ ฅํ•˜๊ณ , ์•„๋‹Œ๊ฒฝ์šฐ false๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

๋ชจ๋‘์˜ ์ „์ฒด ์ด๋ฆ„์˜ ๊ธธ์ด๊ฐ€ 20์ž ์ด์ƒ์ธ๊ฐ€?

console.log(names.every(item=>item.length >= 20)); //names ๋ฐฐ์—ด์—์„œ ์ „์ฒด์˜ ๋ฌธ์ž๊ธธ์ด๊ฐ€ 20์ž ์ด์ƒ์ธ๊ฐ€? no false๋‹ค.

๋ชจ๋‘์˜ ์ด๋ฆ„์— a ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋Š”๊ฐ€?

console.log(names.every(item=>item.includes("a"))); //names ๋ฐฐ์—ด์—์„œ ์ „์ฒด์˜ ๋ฌธ์ž์—์„œ a๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋Š”๊ฐ€? no false๋‹ค.

๐Ÿฑ find

  • ๋ฐฐ์—ด ์š”์†Œ์˜ ์กฐ๊ฑด์ด ์ฐธ์ธ๊ฒฝ์šฐ ์ œ์ผ ๋จผ์ € ์žˆ๋Š” ๊ฒƒ๋งŒ ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์ค‘์ง€ํ•œ๋‹ค.

์ „์ฒด ์ด๋ฆ„์˜ ๊ธธ์ด๊ฐ€ 20์ž ์ด์ƒ์ธ ์‚ฌ๋žŒ์„ ์ฐพ์œผ์‹œ์˜ค.

console.log(names.find(item=>item.length>=20)); //names ๋ฐฐ์—ด์—์„œ ๋ฌธ์ž๊ธธ์ด๊ฐ€ 20์ž ์ด์ƒ์ธ ์ด๋ฆ„์„ ์ถœ๋ ฅํ•˜์‹œ์˜ค. 

๋ฏธ๋“ค๋„ค์ž„์ด ํฌํ•จ๋˜์–ด์žˆ๋Š” ์‚ฌ๋žŒ์„ ์ฐพ์œผ์‹œ์˜ค.(์˜ˆ-Steven Paul Jobs)

console.log(names.find(item=>item.split(" ").length>=3)); //names ๋ฐฐ์—ด์—์„œ ๊ณต๋ฐฑ์˜ ๊ธธ์ด๊ฐ€ 3์ด์ƒ์ด๋ฉด ์ถœ๋ ฅ.

๐Ÿฑ findIndex

  • ๋ฐฐ์—ด ์š”์†Œ์˜ ์กฐ๊ฑด์ด ์ฐธ์ธ๊ฒฝ์šฐ ์ œ์ผ ๋จผ์ € ์žˆ๋Š” ๊ฒƒ๋งŒ ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๊ทธ ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค๋ฒˆํ˜ธ๋ฅผ ์ถœ๋ ฅํ•˜๊ณ  ์ค‘์ง€ํ•œ๋‹ค.

์ „์ฒด ์ด๋ฆ„์˜ ๊ธธ์ด๊ฐ€ 20์ž ์ด์ƒ์ธ ์‚ฌ๋žŒ์˜ ์ธ๋ฑ์Šค ๋ฒˆํ˜ธ๋ฅผ ์ฐพ์œผ์‹œ์˜ค.

console.log(names.findIndex(item=>item.length>=20)); //names ๋ฐฐ์—ด์—์„œ ๋ฌธ์ž๊ธธ์ด๊ฐ€ 20์ž ์ด์ƒ์ธ ์ด๋ฆ„์˜ ์ธ๋ฑ์Šค ๋ฒˆํ˜ธ ์ถœ๋ ฅ

๋ฏธ๋“ค๋„ค์ž„์ด ํฌํ•จ๋˜์–ด์žˆ๋Š” ์‚ฌ๋žŒ์˜ ์ธ๋ฑ์Šค ๋ฒˆํ˜ธ๋ฅผ ์ฐพ์œผ์‹œ์˜ค.

console.log(names.findIndex(item=>item.split(" ").length>=3)); //names ๋ฐฐ์—ด์—์„œ ๊ณต๋ฐฑ์˜ ๊ธธ์ด๊ฐ€ 3์ด์ƒ์ด๋ฉด ์ด๋ฆ„์˜ ์ธ๋ฑ์Šค ๋ฒˆํ˜ธ ์ถœ๋Ÿญ.
profile
์•ˆ๋…•ํ•˜์„ธ์š” ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž์ž…๋‹ˆ๋‹ค. ๊ธ€์„ ์ด์ „ ์ค‘์ž…๋‹ˆ๋‹ค.

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