2023.09.29
JavaScriptとRubyとで配列内の目的のオブジェクトの前後を取得する
クイズです。
配列内の特定のオブジェクトの次(next)と前(prev)を取得する処理で、 JavaScript では、
array = ['a', 'b', 'c']
target = 'a'
prev = array[array.indexOf(target) - 1] // undefined が返る
next = array[array.indexOf(target) + 1] // 'b' が返る
のように想定通りに動くのですが、Ruby では
array = ['a', 'b', 'c']
target = 'a'
prev = array[array.index(target) - 1] # ????
next = array[array.index(target) + 1] # 'b' が返る
想定どおり動きません。
なぜでしょう?JavaScript と Ruby 行き来しているとはまるな、これ。
2023/09/29 11:52:00