Эффективные методы фильтрации массива и получения индекса определенного числа

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

Методы:

  1. Использование цикла for:
    Самый простой подход — перебрать массив с помощью цикла for и проверить каждый элемент на соответствие нужному числу. Если совпадение найдено, сохраните индекс в отдельном массиве или коллекции. Вот пример на Python:
def filter_array_with_for_loop(arr, num):
    indices = []
    for i in range(len(arr)):
        if arr[i] == num:
            indices.append(i)
    return indices
# Example usage
array = [2, 3, 4, 3, 1, 3]
number = 3
result = filter_array_with_for_loop(array, number)
print(result)  # Output: [1, 3, 5]
  1. Использование понимания списка.
    Понимание списка обеспечивает краткий способ фильтрации массива и получения индексов в одной строке кода. Вот пример использования Python:
def filter_array_with_list_comprehension(arr, num):
    return [i for i in range(len(arr)) if arr[i] == num]
# Example usage
array = [2, 3, 4, 3, 1, 3]
number = 3
result = filter_array_with_list_comprehension(array, number)
print(result)  # Output: [1, 3, 5]
  1. Использование функции filter():
    В некоторых языках программирования, таких как JavaScript, вы можете использовать функцию filter()для создания нового массива, содержащего только элементы, соответствующие желаемому числу. Затем вы можете извлечь индексы этих элементов. Вот пример на JavaScript:
function filterArrayWithFilterMethod(arr, num) {
  return arr
    .map((element, index) => ({ element, index }))
    .filter(obj => obj.element === num)
    .map(obj => obj.index);
}
// Example usage
const array = [2, 3, 4, 3, 1, 3];
const number = 3;
const result = filterArrayWithFilterMethod(array, number);
console.log(result); // Output: [1, 3, 5]