web関連
【javascrpt】配列から特定の要素を削除する方法
javascrptで配列の中から特定の値を消そうsplice()メソッドを使った時の備忘録
splice()を使って配列の特定の値を消す方法
splice()ってメソッドを使えば配列の中身を消せるらしいので使ってみた
let array = ['aaa','bbb','test']
console.log(array);// ['aaa','bbb','test']
let index = array.indexOf('test');
if (index > -1) {
// splice(先頭から何番目?, 何個消す?)
array.splice(index, 1);
}
console.log(array);// ['aaa','bbb']
indexOf()メソッドを使って配列の何番目が対象なのか取得してからじゃないと削除できないみたい
ちょっと遠回りしないといけないのね
Link:.splice()
Memo:このページ見れば使い方わかる
splice()メソッドは削除するだけじゃなくて追加もできるのは知らなかったのでメモ
let array = ['aaa','bbb','ccc', 'ddd', 'eee']
console.log(array);// ['aaa','bbb','ccc', 'ddd', 'eee']
// splice(先頭から1番目, 2個消す, 「test」を追加する)
array.splice(1, 2, 'test');
console.log(array);// ["aaa", "test", "ddd", "eee"]
消したところにそのまま追加されるみたいね
末尾に追加したかったらarray.push('test')
ってすればよさそう
splice()の使い方わからんかったから適当な記事参考にsplice(array, ‘test’);って書いたらエラー吐いた
調べるの大事
調べるの大事
メモ:splice()はes6からあんまり推奨されないって記事あった
調べていたらfilter()メソッドを使ったほうがいいって記事あったのでメモ
使い方としてはこんな感じ
let array = ['aaa','bbb','ccc', 'ddd', 'eee']
let result = array.filter(elm => {
return elm !== 'ccc'; //'ccc'を除外
})
console.log(result);// ["aaa", "bbb", "ddd", "eee"]
削除というより絞り込みだわ
$('div').filter('#btn').css('background', 'red');
(div要素のbtnというidを持っている要素にcssを追加する書き方)
こういう風に配列以外に色々なところで使えそう
ついでにes6ってなんだ?って思って調べたら2015年以降のjavascrptみたいね
letとかconstが使えるようになったり結構変わっているみたい
メモ:文字列の中の特定の文字を削除する時はreplace()
メモだけ
Link:指定文字を置換、削除する方法
Memo:正規表現とか絡んでくるわ、苦手
そろそろes6(ECMAScript2015)以降の書き方も使っていこうかなぁ、覚えるためにも…