
์๋ ๋ฐฐ์ด์ด ์๋ค. ์ด ๋ฐฐ์ด๋ก ๋ชจ๋ ๋ฌธ์ ๊ฐ ๋์จ๋ค. ๋ฌธ์ ์์ ๋์ค๋ ๋ฐฐ์ดํจ์๋
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", ];
๋ชจ๋ ์ด๋ฆ์ ๋๋ฌธ์๋ก ๋ฐ๊พธ์ด์ ์ถ๋ ฅํ์์ค.
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);
์ด๋ฆ์ 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);
์ ์ฒด ์ด๋ฆ์ ๊ธธ์ด๊ฐ 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 ํ๋ค.
});
๋ชจ๋์ ์ ์ฒด ์ด๋ฆ์ ๊ธธ์ด๊ฐ 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๋ค.
์ ์ฒด ์ด๋ฆ์ ๊ธธ์ด๊ฐ 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์ด์์ด๋ฉด ์ถ๋ ฅ.
์ ์ฒด ์ด๋ฆ์ ๊ธธ์ด๊ฐ 20์ ์ด์์ธ ์ฌ๋์ ์ธ๋ฑ์ค ๋ฒํธ๋ฅผ ์ฐพ์ผ์์ค.
console.log(names.findIndex(item=>item.length>=20)); //names ๋ฐฐ์ด์์ ๋ฌธ์๊ธธ์ด๊ฐ 20์ ์ด์์ธ ์ด๋ฆ์ ์ธ๋ฑ์ค ๋ฒํธ ์ถ๋ ฅ
๋ฏธ๋ค๋ค์์ด ํฌํจ๋์ด์๋ ์ฌ๋์ ์ธ๋ฑ์ค ๋ฒํธ๋ฅผ ์ฐพ์ผ์์ค.
console.log(names.findIndex(item=>item.split(" ").length>=3)); //names ๋ฐฐ์ด์์ ๊ณต๋ฐฑ์ ๊ธธ์ด๊ฐ 3์ด์์ด๋ฉด ์ด๋ฆ์ ์ธ๋ฑ์ค ๋ฒํธ ์ถ๋ญ.