TIL 4 | array methods

dabin *.โ—Ÿ(หŠแ—จห‹)โ—ž.*ยท2021๋…„ 8์›” 2์ผ
0

Javascript

๋ชฉ๋ก ๋ณด๊ธฐ
4/25
post-thumbnail

๐Ÿ‘ซ๋ฐฐ์—ด

ํŠน์ •ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ผ๋ ฌ๋กœ ์ผ์ •ํ•˜๊ฒŒ ๋ชจ์•„๋†“์€ ์ง‘ํ•ฉ์ด๋‹ค.

let myArray1 = [19, 44, 'good', false]
  • ์š”์†Œ(element) : ์–ด๋– ํ•œ ๋ฐ์ดํ„ฐ ํƒ€์ž…๋„ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ์œผ๋ฉฐ array ์•ˆ์— array๊ฐ€ ๋“ค์–ด๊ฐ€๊ธฐ๋„ ํ•œ๋‹ค.
  • ์ˆœ์„œ : index๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•œ๋‹ค. myArray์˜ index 0 ์€ 19, index 1 ์€ 44์ด๋‹ค.

๋ฐฐ์—ด์ด ํ•„์š”ํ•œ ์ด์œ 

  • ์ค‘๋ณต ๋ณ€์ˆ˜ ์„ ์–ธ ์ค„์ด๊ธฐ
  • ๋ฐ˜๋ณต๋ฌธ ์ด์šฉํ•ด ์š”์†Œ ์‰ฝ๊ฒŒ ์ฒ˜๋ฆฌ
  • ์ฝ”๋“œ ์ ˆ๊ฐ

์š”์†Œ์— ์ ‘๊ทผํ•˜๊ธฐ

index position์„ ์‚ฌ์šฉํ•˜์—ฌ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

let myArray2 = [3, 4, 5, 6]
//์ฒซ ๋ฒˆ์งธ ๋ฐฉ๋ฒ•
let first = myArray2[1]
console.log(first) //4
//๋‘ ๋ฒˆ์งธ ๋ฐฉ๋ฒ•
console.log(myArray2[3]) //6

์š”์†Œ๋ฅผ ์ˆ˜์ •ํ•˜๊ธฐ

myArray2[0] = 7
console.log(myArray2)
//[7, 4, 5, 6]

๋ฐฐ์—ด ๊ธธ์ด ๊ตฌํ•˜๊ธฐ

console.log(myArray2.length)
//4

์š”์†Œ ์ถ”๊ฐ€ํ•˜๊ธฐ

myArray2.push(8)
console.log(myArray2)
//[7, 4, 5, 6, 8]

์š”์†Œ ์‚ญ์ œํ•˜๊ธฐ

//๋ฐฐ์—ด์˜ ๋งˆ์ง€๋ง‰ ์š”์†Œ ์‚ญ์ œ
myArray2.pop()
console.log(myArray2)
//[7, 4, 5, 6]

//๋ฐฐ์—ด์˜ ์ฒซ๋ฒˆ์งธ ์š”์†Œ ์‚ญ์„ธ
myArray2.shift()
console.log(myArray2)
//[4, 5, 6]

//์—ฌ๋Ÿฌ๊ฐ€์ง€ ๊ธฐ๋Šฅ์ด ์žˆ์œผ๋‹ˆ ๊ฒ€์ƒ‰์„ ํ•ด์„œ ์ƒํ™ฉ์— ๋งž๋Š” ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์ž.

๋ฐฐ์—ด in ๋ฐฐ์—ด

let myArray3 = [1, 2, [1, 2, 3], 3]

console.log(myArray3[2])
//[1, 2, 3]

console.log(myArray3[2][1])
//2

๊ฐ€์žฅ ๋งˆ์ง€๋ง‰ ์š”์†Œ

let myArray4 = [1, 2, 3, 4] 
let myArray5 = [5, 6]
let myArray6 = [7, 8, 9]

console.log(myArray4[3]) //4
console.log(myArray5[1]) //6
console.log(myArray6[2]) //3

๋ฐฐ์—ด์˜ ์š”์†Œ๊ฐ€ ๋งŽ์€ ์ƒํƒœ์—์„œ ๋งˆ์ง€๋ง‰ ์š”์†Œ๊ฐ€ ๋ช‡ ๋ฒˆ์งธ์— ์žˆ๋Š”์ง€ ์•Œ๊ธฐ ์–ด๋ ต๋‹ค. ๋”ฐ๋ผ์„œ ๋ฐฐ์—ด์˜ length๋ฅผ ๊ตฌํ•œ ๋’ค, ๋งˆ์ง€๋ง‰ index์—๋Š” length-1๋ฅผ ๋„ฃ์–ด์ฃผ๋ฉด ๋œ๋‹ค. ์ด๋Š” index๊ฐ€ 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

console.log(myArray[myArray4.length - 1])
//console.log(myArray[3])
//4

slice

index๋ฒ”์œ„์— ๋”ฐ๋ผ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋ฆฌํ„ดํ•˜๋ฉฐ, ์›๋ณธ ๋ฐฐ์—ด์„ ๋ณ€ํ˜•์‹œํ‚ค์ง€ ์•Š๋Š”๋‹ค. ๋”ฐ๋ผ์„œ ๊ผญ ์ƒˆ๋กœ์šด ๋ณ€์ˆ˜๋ฉด์„ ํ• ๋‹นํ•ด์ฃผ๊ณ  ์‚ฌ์šฉํ•ด์•ผํ•œ๋‹ค.

//slice(start, end)

let nums = [1, 2, 3, 4, 5, 6, 7]

let nums_new1 = nums.slice(1, 3)
console.log(nums_new1)
//[2, 3]

let nums_new2 = nums.slice(-2)
console.log(nums_new2)
//[6, 7]
//์Œ์ˆ˜ ๋“ค์–ด๊ฐˆ ๊ฒฝ์šฐ ๋์—์„œ๋ถ€ํ„ฐ ์ˆซ์ž ๋งŒํผ์˜ ์š”์†Œ๋ฅผ ๋ฐฐ์—ด์— ๋‹ด์•„ ๋ฆฌํ„ด

splice

๋ฐฐ์—ด ๋‚ด ํŠน์ • ์š”์†Œ๋ฅผ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜, ๋‹ค๋ฅธ ์š”์†Œ๋กœ ๋Œ€์น˜ํ•˜๊ฑฐ๋‚˜, ์ƒˆ๋กœ์šด ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. ๋ณดํ†ต ๋Œ“๊ธ€ ์‚ญ์ œ ๊ธฐ๋Šฅ ๊ตฌํ˜„ํ•  ๋•Œ ๋งŽ์ด ์“ฐ์ธ๋‹ค.

//splice(start, delete ์š”์†Œ ๊ฐœ์ˆ˜, item ์ถ”๊ฐ€์š”์†Œ, ...)

//2๋ฅผ 10์œผ๋กœ ๋ฐ”๊พธ์–ด๋ณด์ž.
let num = [1, 2, 3, 4, 5, 6];
num.splice(1, 1, 10);
console.log(num);
//[1, 10, 3, 4, 5, 6]
//basket์—์„œ '๊ณฐํŒก์ด' ์‚ญ์ œ
let basket = [['์–‘ํŒŒ','๊ณฐํŒก์ด'],['๊ณฐํŒก์ด','๋นต','๋”ธ๊ธฐ์žผ'],['๊ทค','๊ณฐํŒก์ด','์‚ฌ๊ณผ']];

function removeGerm(arr) {
  for(i=0; i < arr.length; i++) {
    for(j=0; j < arr[i].length; j++) {
      if(arr[i][j] === '๊ณฐํŒก์ด') {
        arr[i].splice(j, 1);
      }
    }
  }
  return arr;
}

console.log(removeGerm(basket)) //[["์–‘ํŒŒ"], ["๋นต", "๋”ธ๊ธฐ์žผ"], ["๊ทค", "์‚ฌ๊ณผ"]]
profile
๋ชจ๋ฅด๋Š”๊ฒƒํˆฌ์„ฑ์ด

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