GiantStepDEV
article thumbnail

๐Ÿฆ ๋ฐฐ์—ด ๊ฐ์ฒด์—๋Š” [ํŒŒ๊ดด์  ๋ฉ”์†Œ๋“œ]์™€ [๋น„ํŒŒ๊ดด์  ๋ฉ”์†Œ๋“œ]๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

 

ํŒŒ๊ดด์  ๋ฉ”์†Œ๋“œ?

  • ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๊ฐ์ฒด๋ฅผ ๋ณ€๊ฒฝํ•˜๋ฉฐ, ์›๋ž˜์˜ ๊ฐ์ฒด๋ฅผ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค. (์ถ”๊ฐ€, ์ถ”์ถœ, ์ •๋ ฌ ๋“ฑ)

๋น„ํŒŒ๊ดด์  ๋ฉ”์†Œ๋“œ?

  • ์š”์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋˜ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๋Š” ๊ฒƒ
  • ์ž๋ฐ” stream API์™€ ๋™์ผ : ์›๋ณธ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • React์—์„œ๋„ ์ž์ฃผ ๋‚˜์˜ด

๋น„ํŒŒ๊ดด์  ๋ฉ”์†Œ๋“œ

forEach() : ์š”์†Œ๋ฅผ ์ˆœํšŒ

const arr = [10, 20, 30, 40, 50];
arr.forEach(function(n) {
  console.log(n);
});
10
20
30
40
50

toString() : ๋ฐฐ์—ด ์•ˆ์˜ ๋ฌธ์ž๋ฅผ ํ•˜๋‚˜์˜ ๋ฌธ์ž์—ด๋กœ ๋ฐ˜ํ™˜

  • ๋ฐฐ์—ด ์•ˆ์˜ ๋ชจ๋“  ๋ฌธ์ž๋ฅผ ์‰ผํ‘œ(,)๋ฅผ ์ด์šฉํ•ด ๋ชจ๋‘ ๊ฒฐํ•ฉํ•˜์—ฌ ํ•˜๋‚˜์˜ ๋ฌธ์ž์—ด๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
let fruits = ["์‚ฌ๊ณผ", "์˜ค๋ Œ์ง€", "๋”ธ๊ธฐ", "์ˆ˜๋ฐ•"];
console.log(fruits.toString()); // ์‚ฌ๊ณผ,์˜ค๋ Œ์ง€,๋”ธ๊ธฐ,์ˆ˜๋ฐ•

join(a) : ๋ฐฐ์—ด ์•ˆ์˜ ๋ชจ๋“  ๋ฌธ์ž๋ฅผ a๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ชจ๋‘ ๊ฒฐํ•ฉ

  • ๋ฐฐ์—ด ์•ˆ์˜ ๋ชจ๋“  ๋ฌธ์ž๋ฅผ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ง€์ •ํ•œ ๋ฌธ์ž๋ฅผ ์ด์šฉํ•ด์„œ ๋ชจ๋‘ ๊ฒฐํ•ฉํ•˜์—ฌ ํ•˜๋‚˜์˜ ๋ฌธ์ž์—ด๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
let fruits = ["์‚ฌ๊ณผ", "์˜ค๋ Œ์ง€", "๋”ธ๊ธฐ", "์ˆ˜๋ฐ•"];
console.log(fruits.join(" * ")); // ์‚ฌ๊ณผ * ์˜ค๋ Œ์ง€ * ๋”ธ๊ธฐ * ์ˆ˜๋ฐ•

pop() : ์Šคํƒ, ๋งˆ์ง€๋ง‰ ๋ฐ์ดํ„ฐ ์ œ๊ฑฐ ํ›„ ๊ฐ’ ๋ฐ˜ํ™˜

let fruits = ["์‚ฌ๊ณผ", "์˜ค๋ Œ์ง€", "๋”ธ๊ธฐ", "์ˆ˜๋ฐ•"];
console.log(fruits.pop()); // ์ˆ˜๋ฐ•

push() : ์Šคํƒ, ์ƒˆ๋กœ์šด ์š”์†Œ ์ถ”๊ฐ€

let fruits = ["์‚ฌ๊ณผ", "์˜ค๋ Œ์ง€", "๋”ธ๊ธฐ", "์ˆ˜๋ฐ•"];
console.log(fruits.pop()); // ์ˆ˜๋ฐ•
fruits.push("์ฒด๋ฆฌ");
console.log(fruits); // [ '์‚ฌ๊ณผ', '์˜ค๋ Œ์ง€', '๋”ธ๊ธฐ', '์ฒด๋ฆฌ']

shift() : ์ฒซ๋ฒˆ์งธ ์š”์†Œ ์ œ๊ฑฐ ํ›„ ๊ฐ’ ๋ฐ˜ํ™˜

// [ '์‚ฌ๊ณผ', '์˜ค๋ Œ์ง€', '๋”ธ๊ธฐ', '์ฒด๋ฆฌ']
console.log(fruits.shift()); // ์‚ฌ๊ณผ

unshift() : ๋งจ์•ž์— ์š”์†Œ ์ถ”๊ฐ€ ํ›„ ๊ธธ์ด ๋ฐ˜ํ™˜

['์˜ค๋ Œ์ง€', '๋”ธ๊ธฐ', '์ฒด๋ฆฌ']
console.log(fruits.unshift("๋ฐฐ")); // 4
console.log(fruits); // ['๋ฐฐ', '์˜ค๋ Œ์ง€', '๋”ธ๊ธฐ', '์ฒด๋ฆฌ']

๋ฐฐ์—ด ์š”์†Œ ๋ณ€๊ฒฝ

let fruits2 = ['ํ‚ค์œ„', '๋ง๊ณ ', 'ํ† ๋งˆํ† ', '๊ทค'];
fruits2[0] = "ํ•œ๋ผ๋ด‰";
console.log(fruits2); // [ 'ํ•œ๋ผ๋ด‰', '๋ง๊ณ ', 'ํ† ๋งˆํ† ', '๊ทค' ]

concat() : 2๊ฐœ ์ด์ƒ์˜ ๋ฐฐ์—ด์„ ํ•˜๋‚˜์˜ ๋ฐฐ์—ด๋กœ ๊ฒฐํ•ฉ

let arr5 = ["์‚ฌ๊ณผ", "๋”ธ๊ธฐ", "์ฐธ์™ธ"];
let arr6 = ["ํฌ๋„", "์ˆ˜๋ฐ•", "๋ฐ”๋‚˜๋‚˜"];
let arr7 = ["๋ง๊ณ ", "๋ ˆ๋ชฌ", "์ž๋‘"];
let totalFruit = arr5.concat(arr6,arr7);
console.log(totalFruit);
[
  '์‚ฌ๊ณผ', '๋”ธ๊ธฐ',
  '์ฐธ์™ธ', 'ํฌ๋„',
  '์ˆ˜๋ฐ•', '๋ฐ”๋‚˜๋‚˜',
  '๋ง๊ณ ', '๋ ˆ๋ชฌ',
  '์ž๋‘'
]

slice() : ์‹œ์ž‘ ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ์ข…๋ฃŒ ์ธ๋ฑ์Šค ๋ฏธ๋งŒ๊นŒ์ง€ ๋ฐฐ์—ด๋กœ ์ž˜๋ผ๋ƒ„

let fruit10 = ["๋ฐ”๋‚˜๋‚˜", "์˜ค๋ Œ์ง€", "์‚ฌ๊ณผ", "๋ง๊ณ ", "๋ ˆ๋ชฌ"];
let slice1 = fruit10.slice(0,2);
console.log(slice1); // [ '๋ฐ”๋‚˜๋‚˜', '์˜ค๋ Œ์ง€' ]
let slice2 = fruit10.slice(2);
console.log(slice2); // [ '์‚ฌ๊ณผ', '๋ง๊ณ ', '๋ ˆ๋ชฌ' ]

sort() : ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ

let fruit10 = ["๋ฐ”๋‚˜๋‚˜", "์˜ค๋ Œ์ง€", "์‚ฌ๊ณผ", "๋ง๊ณ ", "๋ ˆ๋ชฌ"];
fruit10.sort();
console.log(fruit10); // [ '๋ ˆ๋ชฌ', '๋ง๊ณ ', '๋ฐ”๋‚˜๋‚˜', '์‚ฌ๊ณผ', '์˜ค๋ Œ์ง€' ]

reverse() : ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ

let fruit10 = ["๋ฐ”๋‚˜๋‚˜", "์˜ค๋ Œ์ง€", "์‚ฌ๊ณผ", "๋ง๊ณ ", "๋ ˆ๋ชฌ"];
console.log(fruit10.reverse()); // [ '์˜ค๋ Œ์ง€', '์‚ฌ๊ณผ', '๋ฐ”๋‚˜๋‚˜', '๋ง๊ณ ', '๋ ˆ๋ชฌ' ]

filter() : ๋ฐฐ์—ด์—์„œ ํŠน์ • ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๋ฐฐ์—ด์˜ ์š”์†Œ๋งŒ์„ ์ฐพ์•„์„œ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด ์ƒ์„ฑ

โœจ ์•„์ฃผ ์ž์ฃผ ์“ฐ์ด๋Š” ๊ฒƒ ์ค‘ ํ•˜๋‚˜!! ํ•ต์‹ฌ!!

let person = [
  {
    name : "์œ ์žฌ์„",
    point : 81,
    address : "๊ฐ•๋‚จ๊ตฌ" 
  },
  {
    name : "๋ฐ•๋ช…์ˆ˜",
    point : 60,
    address : "๊ฐ•๋ถ๊ตฌ"
  },
  {
    name : "์ •์ค€ํ•˜",
    point : 72,
    address : "๊ฐ•๋‚จ๊ตฌ"
  },
  {
    name : "์ •ํ˜•๋ˆ",
    point : 88,
    address : "๋งˆํฌ๊ตฌ"
  },
  {
    name : "๋…ธํ™์ฒ ",
    point : 90,
    address : "๊ฐ•์„œ๊ตฌ"
  },
  {
    name : "ํ•˜ํ•˜",
    point : 50,
    address : "๊ธˆ์ฒœ๊ตฌ"
  }
];
// point๊ฐ€ 80 ์ด์ƒ์ธ ์‚ฌ๋žŒ์˜ ์ด๋ฆ„๋งŒ ์ถœ๋ ฅ
let pass = person.filter(e => e.point > 80); // ๋ณ€์ˆ˜ pass๋Š” ๋ฐฐ์—ด๋กœ ๋งŒ๋“ค์–ด์ง
pass.forEach(function(e) {
  console.log(e.name);
});
์œ ์žฌ์„
์ •ํ˜•๋ˆ
๋…ธํ™์ฒ 
profile

GiantStepDEV

@kongmi

ํฌ์ŠคํŒ…์ด ์ข‹์•˜๋‹ค๋ฉด "์ข‹์•„์š”โค๏ธ" ๋˜๋Š” "๊ตฌ๋…๐Ÿ‘๐Ÿป" ํ•ด์ฃผ์„ธ์š”!