gpt4 book ai didi

arrays - 仅当第一个元素满足条件时,如何删除数组的开头元素?

转载 作者:太空宇宙 更新时间:2023-11-03 17:04:35 25 4
gpt4 key购买 nike

在 Ruby 中,假设我有一组有序的唯一数字

[0, 1, 2, 4, 6, 8, 10]

如果数组的第一个元素是零,我如何从数组的开头删除所有连续的元素,从零开始?也就是说,在上面的示例中,我想删除“0”、“1”和“2”,留下

[4, 6, 8, 10]

但是如果我的数组是

[1, 2, 3, 10, 15]

我希望数组保持不变,因为第一个元素不为零。

最佳答案

您可以混合使用 drop_whilewith_index只删除第一个匹配的元素:

[0, 1, 2, 4, 6, 8, 10].drop_while.with_index{|x, i| x == i}
# [4, 6, 8, 10]

[1, 1, 2, 4, 6, 8, 10].drop_while.with_index{|x, i| x == i}
# [1, 1, 2, 4, 6, 8, 10]

请注意,第二个和第三个元素在第二个示例中不会被删除,即使它们等于它们的索引。

关于arrays - 仅当第一个元素满足条件时,如何删除数组的开头元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44120037/

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