1 } 我查看了 drop、d-6ren">
gpt4 book ai didi

arrays - 如果索引位置大于特定值,则删除数组元素

转载 作者:数据小太阳 更新时间:2023-10-29 07:21:19 26 4
gpt4 key购买 nike

如果索引大于某个值,我将尝试从数组中删除元素。我希望做这样的事情:

a = ["a", "b", "c"]
b = a.delete_if {|x| x.index > 1 }

我查看了 dropdelete_if 等。我尝试使用 each_with_index 完成此操作,如下所示:

new_arr = []
a.each_with_index do |obj, index|
if index > 1
obj.delete
end
new_arry << obj
end

如果数组位置大于某个值,如何删除数组元素?

最佳答案

这里有一些其他的方法来返回 a sans 元素在 indices >= index,这可能更好地表达为“返回第一个 index 元素”。以下全部返回 ["a", "b"]).

a = ["a", "b", "c", "d", "e"]
index = 2

非破坏性(即,a 未更改)

a[0,index]
index.times.map { |i| a[i] }

破坏性(a 被修改或“变异”)

a.object_id #=> 70109376954280 
a = a[0,index]
a.object_id #=> 70109377839640

a.object_id #=> 70109377699700
a.replace(a.first(index))
a.object_id #=> 70109377699700

关于arrays - 如果索引位置大于特定值,则删除数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35610620/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com