Не могу получить первый элемента массива из массива объектов [дубликат]
У меня есть массив объектов. Вот так он выглядит в консоле: Как получить первый элемент массива из массива объектов? Я пытался сделать вот так, но он вывел undefined:
arrayOfObjects[0]
Примерно такой код:
var root = 'https://jsonplaceholder.typicode.com'; var arr = []; $.ajax(< url: root + '/posts', method: 'GET' >).then(function(data) < arr.push(data[0]); >); function func() < console.log(arr[0]) >setTimeout(func, 1000);
Спасибо за внимание!
Отслеживать
задан 30 ноя 2017 в 14:33
1,220 7 7 серебряных знаков 16 16 бронзовых знаков
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
Вы пытаетесь получить первый элемент из массива раньше, чем Ваш код заполняет этот массив данными.
Спасибо за внимание! Наши представления — каждый четверг.
Вы запрашиваете данные для массива асинхронно. А первый элемент выводите сразу, не дожидаясь возвращения асинхронного запроса. В консоли же Вы наблюдаете массив после заполнения его данными — консоль хранит на него ссылку и обновляется, отражая изменения в массиве/объекте.
@selya: Чтобы посмотреть, что было в массиве в самом начале, выводите не сам массив, а JSON.stringify(arr) , к примеру.
Как вывести первый элемент php массива
Если массив нумерованный, т.е. индексы от 0 до N, можно обратиться по индексу элемента и распечатать с помощью print_r. Начиная с 7.3 версии можно получить ключ первого элемента с помощью array_key_first
$a = [1, 2, 3, 4]; print_r($a[0]); # => 1 $firstKey = array_key_first($numWords); print_r($firstKey); # => "zero" print_r($numWords[$firstKey]); # => 0
Получить первый элемент массива (JavaScript)
Первый элемент массива можно получить несколькими способами. При помощи метода массива .shift() , матода .slice() и получение нулевого элемента массива (если знаем что таковой имеется).
.shift()
У массива в яваскрипте определен метод .shift() , который извлекает и возвращает первый элемент массива. Соответственно после извлечения — элемент пропадает из массива.
Пример
// массив var arr = [‘this’, ‘is’, ‘an’, ‘array’]; alert(arr.shift()); // this // Массив arr теперь состоит из элементов: is, an, array
.slice()
Функция .slice(start[, end] ) формирует новый массив из текущих элементов. Начиная с элемента со значением ключа start и до конца массива или до элемента с ключом end , если передан соответствующий параметр end .
Пример
// массив var arr = [‘this’, ‘is’, ‘an’, ‘array’]; alert(arr.slice(0, 1)[0]); // this // Массив arr как и прежде состоит из 4 элементов: this, is, an, array
Нулевой элемент
Если известно, что массив имеет элемент с нулевым ключом, то и получаем этот элемент соответствующим образом.
Пример
// массив var arr = [‘this’, ‘is’, ‘an’, ‘array’]; alert(arr[0]); // this
✖ ❤ Мне помогла статья нет оценок
23651 просмотр нет комментариев Артём Фёдоров 14 декабря 2012
Категории
Читайте также
- Случайный элемент массива (JavaScript)
- Получить первое значение массива (PHP)
- Как удалить элемент ассоциативного массива (JavaScript)
- Получить последнее значение массива (PHP)
- Получить последовательность элементов массива (PHP)
- Найти и удалить элемент массива (PHP)
- Количество элементов ассоциативного массива (JavaScript)
- Ассоциативный массив в JavaScript
- Получить массив ключей (PHP)
- Массив уникальных значений (JavaScript)
- Элементы массива в случайном порядке (PHP)
- Поменять местами 2 элемента массива (PHP)
Комментарии
Написать комментарий
© Экспэнч 2010-2024
При полном или частичном копировании статей сайта указывайте пожалуйста ссылку на источник
Хотите узнать больше информации, пишите на: artem@expange.ru
Вход на сайт
Введите данные указанные при регистрации:
Социальные сети
Вы можете быстро войти через социальные сети:
Как получить первый элемент массива в php
Итак, у нас есть массив $arr и нужно получить первый элемент этого массива.
Нельзя просто сделать так:
$first = $arr[0];
Элемент с индексом 0 может быть просто не определен. Например в случае если массив ассоциативный, либо мы сделали unset($arr[0]) .
Способ 1
$first = reset($arr);
Используя reset мы получаем первый элемент, однако есть один побочный эффект: указатель массива также сбрасывается на первый элемент. Хотя в принципе эта функция и предназначена для сброса указателя. Документация по функции reset().
Обратите внимание: если массив пустой reset() вернет false , и этот результат будет неотличим от случая, когда массив не пустой, но содержит false в качестве первого элемента.
$a = array(); $b = array(false, true, true); var_dump(reset($a) === reset($b)); //bool(true)
Способ 2
Можно воспользоваться функцией array_shift — она извлекает первый элемент и при этом удаляет его из переданного массива. Документация по array_shift().
$first = array_shift($arr);
Способ 3
Написать свою функцию для этих целей:
function array_first($array, $default = null) < foreach ($array as $item) < return $item; >return $default; >
Преимущество в том, что она не меняет исходный массив. Также вы можете передать параметр $default , который будет использоваться в качестве значения по умолчанию, если массив пустой.
Кстати во фреймворке Laravel эта функция уже определена и позволяет указать еще и callback, в который можно передать условие. Можно например взять первый элемент, который больше 10 или первый элемент, который не является числом.
Вот код более совершенной функции:
function array_first($array, callable $callback = null, $default = null) if (is_null($callback)) < if (empty($array)) < return $default instanceof Closure ? $default() : $default; >foreach ($array as $item) < return $item; >> foreach ($array as $key => $value) < if (call_user_func($callback, $value, $key)) < return $value; >> return $default instanceof Closure ? $default() : $default; >
Ее можно использовать например так:
$array = [100, 200, 300]; $first = array_first($array, function ($value, $key) < return $value >= 150; >); echo $first; // 200
Способ 4
Функция current() также пригодна для получения первого элемента массива.
Пример использования:
$transport = array('foot', 'bike', 'car', 'plane'); $mode = current($transport); // $mode = 'foot';
Точнее эта функция используется для возвращения элемента, на котором находится внутренний указатель массива. В большинстве случаев указатель на первом элементе, однако есть ситуации, когда может быть возвращен не первый элемент.
$transport = array('foot', 'bike', 'car', 'plane'); next($transport); // перемещаем указатель вперед (http://php.net/manual/ru/function.next.php) $mode = current($transport); // $mode = 'bike'; — т. е. вернулся уже второй элемент массива.
Спасибо комментатору Alexey Berlinskiy, за этот способ.
Если вы еще знаете способы получения первого элемента — пишите в комментариях.
Свежие записи
- SQL UPDATE: примеры обновления строк в таблице
- PHP: substr и мощные альтернативы, чтобы вырезать часть строки
- Степень в C, C++ и С#: как возвести число в любую степень, побитовые операции
- Скачать ShowKeyPlus: ссылка на последнюю официальную версию, скачивание, установка
- Как создать файл в Linux: 12 способов
- SQL INSERT INTO: примеры вставки строк в таблицу БД MySQL
- PHP: str_replace — замена или удаление подстроки в строке
- Функция date() в php: распространенные форматы, примеры, советы
- cURL в PHP: примеры POST, GET запросов с headers, cookie, JSON и многопоточностью
- JSON в PHP: примеры json_encode, json_decode, работа с кириллицей и utf-8
- Файл gitignore — примеры и документация
- Сортировка массивов в php: ksort, asort и прочие sort’ы
- jQuery onclick: как выполнить код при клике на кнопку
- 500 Internal Server Error — в чем причина?
- SMTP от Yandex: как отправить письма из PHP — пример настроек
- No such file or directory — в чем причина?
- Как получить первый элемент массива в php
- Cтроку в массив по разделителю в PHP: explode, str_split, strtok — что выбрать?
- 301 редирект на https с www через htaccess
- Как в php добавить к массиву другой массив?
- 301 редирект на https без www с помощью htaccess
- Регулярные выражения в PHP
- PHP json_decode — как декодировать результат в массив?
- Yii2 ActiveRecord шпаргалка по составлению запросов
- Поиск подстроки в строке с помощью PHP
- Отправка почты на php
- Как подключить php код в html
- Конвертировать массив в строку при помощи PHP
- Подключение одного php файла в другой
- Подборка ссылок для веб-разработчика
- Проблема с кириллицей в PHPWord