- JavaScript | Как получить индекс элемента в массиве?
- Как узнать под каким индексом находится элемент в массиве?
- Решаем вопрос
- Если в массиве несколько одинаковых значений?
- Информационные ссылки
- Определить индекс элемента массива имеющего заданное значение
- Решение
- Как найти индекс элемента в массиве в Java?
- 14 ответов
- для примитивных массивов
- для массивов объектов
- Как найти индекс элемента в массиве объектов?
- 1 ответ 1
- JavaScript | Как получить индекс элемента в массиве?
- Как узнать под каким индексом находится элемент в массиве?
- Решаем вопрос
- Если в массиве несколько одинаковых значений?
- Информационные ссылки
JavaScript | Как получить индекс элемента в массиве?
Для примера возьмём массив из строк, чтобы сравнивать буквы, а не числа. Так легче понять. Всего 10 элементов в массиве.
Десять строк в массиве — JavaScript
Как узнать под каким индексом находится элемент в массиве?
В этом нам поможет метод прототипов объекта Array — findIndex(). Он проверяет элементы массива по какому-то определённому условию. Если « условие выполняется «(true) и элемент находится в массиве, тогда возвращается его индекс (целое положительное число или 0). Если « условие НЕ выполняется «(false) и элемент не найден в массиве, тогда возвращается «-1».
Важно отметить, что если в массиве будет несколько одинаковых значений у разных элементов, то метод findIndex() достанет только самый первый из них.
И ещё, метод findIndex() создаёт новый массив и не изменяет тот, на котором вызывается. Это важно для сохранности данных.
Решаем вопрос
Пробуем получить индекс элемента, у которого значение «zx»
Для каждого элемента i мы проверили условие, что i равняется строковому значению. Когда метод находил совпадения, тогда он возвращал номер индекса, существующего элемента.
Метод findIndex вернул индексы — JavaScript
Пробуем получить индекс элемента, которого нет в массиве
Метод findIndex не нашёл элементы по значению — JavaScript
Если в массиве несколько одинаковых значений?
Добавим несколько одинаковых элементов в массив:
12 строк в массиве — JavaScript
Теперь, если мы попробуем получить индекс элемента, который содержит «as» , то мы получим только индекс 3. Индексы 10 и 11 мы не увидим.
Только индекс первого совпадения — JavaScript
Информационные ссылки
findIndex() — метод прототипов объекта Array
Источник
Определить индекс элемента массива имеющего заданное значение
Ребята, завтра нужно сдать задачи. Сам не успеваю все сделать, поэтому хотел бы попросить вас помочь с частью задачек. Cтудент ВМК МГУ 1 курс
1) Составить программу, выдающую индексы заданного элемента или сообщающую, что такого элемента в массиве нет.
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Вставить заданное число элементов после элемента, имеющего заданное значение
Ребят,помогите плз,если можете. Вставить заданное число элементов после элемента, имеющего.
Определить индекс и значение элемента массива, ближайшего к числу Х
«Введите с клавиатуры число Х и определите индекс и значение элемента массива, ближайшего к числу.
Определить значение минимального элемента массива и его индекс
Даны вещественные массивы А, F. В каждом массиве определить значение минимального элемента и его.
Скопировать элементы массива начиная с элемента имеющего минимальное значение
Возможно есть у кого похожая задача ? Или может кто решить? Даны одномерный масив В, который.
Добавлено через 2 минуты
Огромное спасибо
Добавлено через 12 минут
NQUARE, только если вводить 1 то получается что такого элемента массива нет
Решение
NQUARE, спасибо за все ответы, не мог бы ты еще помочь с этим, если найдется время:
В одномерном массиве, состоящем из n вещественных элементов, вычислить:
-минимальный по модулю элемент массива;
-сумму модулей элементов массива, расположенных после первого элемента, целая часть которого равна нулю.
Преобразовать массив таким образом, чтобы в первой его половине располагались элементы, стоявшие в четных позициях, а во второй половине — элементы, стояв-шие в нечетных позициях.
NQUARE, мне уже неудобно, но забыл важную деталь в условии:
Составить программу с использованием одномерных массивов для решения задачи на переупорядочивание элементов массива. Создать исходный массив, используя генератор случайных чисел.
Вот пример программы, в которой создается массив вещественных случайных чисел в диапазоне от -5 до 7, если это ускорит процесс:
Источник
Как найти индекс элемента в массиве в Java?
Я ищу индекс данного элемента, зная его содержимое, в Java.
я попробовал следующий пример, который не работает:
может кто-нибудь объяснить, что с этого и что мне нужно сделать, чтобы это исправить?
14 ответов
в этом случае вы можете создать новую строку e из массива символов, а затем сделать indeoxOf («e») на этой строке:
но в других случаях примитивных типов данных вам придется перебирать их.
это даже не допустимый синтаксис. и вы пытаетесь сравнить строку. Для массивов вам придется ходить по массиву самостоятельно:
если вы используете коллекцию, например ArrayList вы также можете использовать indexOf() способ:
есть еще Arrays класс, который сокращает код:
кроме того, вы можете использовать Commons Lang ArrayUtils класс:
есть перегруженные варианты indexOf() метод для различных типов массивов.
для примитивных массивов
начиная с Java 8, решение общего назначения для примитивного массива arr и значение для поиска val , является:
этот код создает поток над индексами массива с помощью IntStream.range , фильтры индексы чтобы сохранить только те, где элемент массива в этом индексе равен искомому значению и, наконец, сохраняет первый сопоставленный с findFirst . findFirst возвращает OptionalInt , поскольку возможно, что совпадающих индексов не найдено. Поэтому мы призываем orElse(-1) для возврата найденного значения или -1 если никто не был найден.
перегрузки могут быть добавлены к int[] , long[] , etc. Тело метода останется прежним.
для массивов объектов
для массивов объектов, как String[] , мы можем использовать ту же идею и фильтрации с помощью equals метод, или Objects.equals рассмотреть два null элементы равны, вместо == .
но мы можем сделать это более простым способом с помощью:
это создает оболочку списка для входного массива с помощью Arrays.asList и ищет индекс элемента с indexOf .
это решение не работает для примитивных массивов, как показано здесь: a примитивный массив типа int[] — это не Object[] , а Object ; как таковой, вызов asList на нем создается список одного элемента, который является заданным массивом, а не список элементов массива.
Источник
Как найти индекс элемента в массиве объектов?
Для поиска индекса элемента в массиве можно использовать методы indexOf (для первого вхождения) и lastIndexOf (для последнего вхождения).
А как можно найти индекс в массиве объектов? Например индекс при первом вхождении нужного объекта?
Например есть массив объектов:
Как получить индекс, где в свойстве name значение barry ? Если писать так:
то выведет -1 , а ожидаемое значение — 1 . Может циклом перебирать все значения? Может есть простые способы?
1 ответ 1
Использовать findIndex, которая в качестве параметра принимает callback функцию, в которой можно указать условия.
Её можно использовать для поиска непримитивных типов (в т.ч. объектов), а также где можно/нужно задать более сложные условия, нежели просто значение. Если элемент не найден — возвращается -1 .
Кстати, плюс этого метода: найдя нужный элемент — итерация по массиву прекращается. То есть если массив из 100 элементов и найден индекс 3, то остальные 97 итераций не происходят.
Вариант с map для массива. В чём идея:
- Пробежаться с помощью map , выбрав в массив нужные значения по указанному свойству
- Уже к этому массиву и применять indexOf
Недостаток: map создает целый массив, в котором лежат эдементы с нужным property . Поэтому если в массиве, например 1000 элементов, то может сказаться на производительности.
Плюс: в отличие от findIndex — map поддерживают больше браузеров, т.к. это более старый метод для работы с массивами
Для немодерновых браузеров, которые не умеют в findIndex , например IE8 (9,10,11), придется делать цикл. Одно замечание: нужно делать не цикл for. in , а обычный for , чтобы в любой момент при нахождении элемента можно было сразу прервать цикл, чтобы не работал вхолостую
Если интересуют библиотеки, то в underscore.js library, есть метод _.findIndex
Можно задать несколько условий (как и при использовании findIndex ), например:
Источник
JavaScript | Как получить индекс элемента в массиве?
Для примера возьмём массив из строк, чтобы сравнивать буквы, а не числа. Так легче понять. Всего 10 элементов в массиве.
Десять строк в массиве — JavaScript
Как узнать под каким индексом находится элемент в массиве?
В этом нам поможет метод прототипов объекта Array — findIndex(). Он проверяет элементы массива по какому-то определённому условию. Если « условие выполняется «(true) и элемент находится в массиве, тогда возвращается его индекс (целое положительное число или 0). Если « условие НЕ выполняется «(false) и элемент не найден в массиве, тогда возвращается «-1».
Важно отметить, что если в массиве будет несколько одинаковых значений у разных элементов, то метод findIndex() достанет только самый первый из них.
И ещё, метод findIndex() создаёт новый массив и не изменяет тот, на котором вызывается. Это важно для сохранности данных.
Решаем вопрос
Пробуем получить индекс элемента, у которого значение «zx»
Для каждого элемента i мы проверили условие, что i равняется строковому значению. Когда метод находил совпадения, тогда он возвращал номер индекса, существующего элемента.
Метод findIndex вернул индексы — JavaScript
Пробуем получить индекс элемента, которого нет в массиве
Метод findIndex не нашёл элементы по значению — JavaScript
Если в массиве несколько одинаковых значений?
Добавим несколько одинаковых элементов в массив:
12 строк в массиве — JavaScript
Теперь, если мы попробуем получить индекс элемента, который содержит «as» , то мы получим только индекс 3. Индексы 10 и 11 мы не увидим.
Только индекс первого совпадения — JavaScript
Информационные ссылки
findIndex() — метод прототипов объекта Array
Источник