javascript の配列の操作について(追加・削除・参照)

javascript にて配列の操作でよく使う Array オブジェクトのメソッドをまとめてみる。

追加

  • Array.prototype.push(value) - 末尾に追加
  • Array.prototype.unshift(value) - 先頭に追加
  • Array.prototype.splice(offset, [deleteCount, [value1, [value2...]]]) - 任意の位置に追加

Array.prototype.pop(value) - 末尾に追加

let arr = ['a', 'b', 'c']
arr.push('push') // ['a', 'b', 'c', 'push']

Array.prototype.unshift(value) - 先頭に追加

let arr = ['a', 'b', 'c']
arr.unshift('unshift') // ['unshift', 'a', 'b', 'c']

Array.prototype.splice(offset, [deleteCount, [value1, [value2...]]]) - 任意の位置に追加

let arr = ['a', 'b', 'c']
arr.splice(1, 0, 'splice') // ['a', 'splice', 'b', 'c']
arr.splice(3, 0, 'splice2a', 'splice2b') // ['a', 'splice', 'b', 'splice2a', 'splice2b', 'c']

削除

  • Array.prototype.pop(value) - 末尾を削除
  • Array.prototype.shift(value) - 先頭を削除
  • Array.prototype.splice(offset, [deleteCount, [value1, [value2...]]]) - 任意の位置を削除
  • Array.prototype.slice(start[, end]) - 任意の位置を切り出す

Array.prototype.pop(value) - 末尾を削除

let arr = ['a', 'b', 'c']
arr.pop() // ['a', 'b']

Array.prototype.shift(value) - 先頭を削除

let arr = ['a', 'b', 'c']
arr.shift() // ['b', 'c']

Array.prototype.splice(index, [deleteCount, [value1, [value2...]]]) - 任意の位置を削除

let arr = ['a', 'b', 'c', 'd', 'e', 'f']
arr.splice(0, 1) // ['b', 'c', 'd', 'e', 'f']
arr.splice(2, 2) // ['b', 'b', 'f']

Array.prototype.slice(index[, end]) - 任意の位置を切り出す

  • index から end の手前まで切り出す
  • end を負の値にすると最後から end (正の値) 番目になる
    • ex) (2, -1) にすると arr[2] から arr[arr.length - 2] まで切り出す
let arr = ['a', 'b', 'c', 'd', 'e', 'f']
arr2 = arr.slice(1) // arr2 ['b', 'c', 'd', 'e', 'f']
arr2 = arr.slice(1, 3) // arr2 ['b', 'c']
arr2 = arr.slice(2, -1) // arr2 ['c', 'd', 'e']

参照

  • Array.prototype.forEach((value[, key]) => { ... })
  • Array.prototype.map((value[, key]) => { ... })

Array.prototype.forEach((value[, key]) => { ... })

  • Object には使えない
let arr = ['a', 'b', 'c', 'd', 'e']
// forEach() の返り値は undefined
let arr2 = arr.forEach((value, key) => {
	console.log(`${key}. ${value}`)
	// 0. a
	// 1. b
	// 2. c
	// 3. d
	// 4. e
	
	// return しても意味がない
	return `【${key}】${value}`
})
console.log(arr2) // undefined

Array.prototype.map((value[, key]) => { ... })

  • Object には使えない
let arr = ['a', 'b', 'c', 'd', 'e']
let arr2 = arr.map((value, key) => {
	console.log(`${key}. ${value}`)
	// 0. a
	// 1. b
	// 2. c
	// 3. d
	// 4. e
	return `【${key}】${value}`
})
console.log(arr2) // ['【0】a', '【1】b', '【2】c', '【3】d', '【4】e']