Say I have the array [1,2,3,1,2,3]
and I want to delete the first instance of (say) 2
from the array giving [1,3,1,2,3]
. What's the easiest way?
Javascript remove first occurrence of a specific element from an array. Javascript's splice() method is used to modify the elements of an array. The splice() method can remove, replace or/and add new elements to the array. The above code uses the splice() method to delete only 1 occurrence of element 25.
shift() The shift() method removes the first element from an array and returns that removed element. This method changes the length of the array.
You can use Array. delete_at(0) method which will delete first element.
li.delete_at(li.index(n) || li.length)
li[li.length]
is out of range, so the || li.length
handles the case where n
isn't in the list.
irb(main):001:0> li = [1,2,3,1,2,3] => [1, 2, 3, 1, 2, 3] irb(main):002:0> li.delete_at(li.index(2) || li.length) => 2 irb(main):003:0> li.delete_at(li.index(42) || li.length) => nil irb(main):004:0> li => [1, 3, 1, 2, 3]
If || li.length
is to avoid sending nil
to li.delete_at
(which would result in a TypeError), then a more readable version might look like this
li.delete_at li.index(42) unless li.index(42).nil?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With