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']