如何快速从数组中删除特定的元组

问题描述

arrayOfTuples = [(4,4,"id1"),(3,6,"id2"),"id3")]

如何使用id2字符串删除项目?

解决方法

您可以使用template <typename T> struct wrap{}; // member declared as `int` { wrap<decltype(t.intv)>() } -> std::same_as<wrap<int>>; // member declared as `int&` { wrap<decltype(t.intlrefv)>() } -> std::same_as<wrap<int&>>; // member declared as `int&&` { wrap<decltype(t.intrrefv)>() } -> std::same_as<wrap<int&&>>; 方法RangeReplaceableCollection并传递一个谓词:

removeAll(where:)

如果您只想删除元组的第三个元素等于“ id2”的第一次出现,则可以使用var arrayOfTuples = [(4,4,"id1"),(3,6,"id2"),"id3")] arrayOfTuples.removeAll(where: {$2 == "id2"}) print(arrayOfTuples) // [(4,"id3")] 的方法Collection

firstIndex(where:)