Swift - эффективно запрашивает один массив целых чисел на основе другого массива, называемого запросами, который имеет индексы первого массива - PullRequest
0 голосов
/ 30 октября 2019

Я хочу эффективно запросить один массив целых чисел на основе другого массива, называемого запросами, у которого есть индексы первого массива.

let arrayWithData = [10, 20, 30, 15, 25, 35, 56]
let queries = [2, 4, 6]

новый массив должен вернуть:

let queriedArray = [30, 25, 56]

Объяснение:

30 - это индекс 2 arrayWithData

25 - индекс 4 arrayWithData

56 - индекс 6 arrayWithData

Как этого можно достичь быстро и эффективно без использования циклов. Возможно, используя карту или фильтр

Ответы [ 2 ]

2 голосов
/ 30 октября 2019

Вы можете попробовать

let res = queries.compactMap { $0 < arrayWithData.count ?  arrayWithData[$0] : nil  }

, если вы уверены на 100%, что индексы запросов будут в количестве массива do

let res = queries.map{ arrayWithData[$0]}
1 голос
/ 30 октября 2019
let arrayWithData = [10, 20, 30, 15, 25, 35, 56]
let queries = [2, 4, 6]

let queriedArray = queries.map({arrayWithData[$0]}) // Your desired output
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...