Можно ли присвоить массив ключам объекта?

Ссылка скопирована
1 ответ

Можно ли присвоить массив ключам объекта? Для примера, есть массив:
[1, 2, 3]
Можно ли эмм.. разложить? Распаковать массив в объект, что-то типа этого:
{a, b, c} = ['1, 2, 3]
В результате получив:

{     a: 1,     b: 2,     c: 3 }

{ a: 1, b: 2, c: 3 }

Дополнительно:

const [a, b, c] = [1, 2, 3] return {a,b,c}

const [a, b, c] = [1, 2, 3] return {a,b,c}

  • Антон Антон, Спасибо! А без объявления функции и констант никак? Много лишних сущностей плодить приходится..
  • Дмитрий,
    { ...[1,2,3] }
  • Виктор Майоров, А что это дает? Объект в качестве ключей получить индексы.
  • Дмитрий, как что дает? можно вытащить все эти значения по индексам.
    const { 0: a, 1: b, 2: c } = {...[1,2,3]}
  • Виктор Майоров, ну это объявит константы a, b, c.
    Но ТС жаждет объекта. Поэтому придётся его ещё создавать второй строкой {a, b, c}, «ад перфекциониста» же : )
  • Сергей Соколов, ну зато читаемо и прозрачно, разве это не главное?)
  • Виктор Майоров, вариант в самом первом комменте определённо выигрывает, но был отвергнут ТС'ом. Так что «главное» далеко не очевидно )
  • Сергей Соколов, "переигран" получается.. )))
  • Сергей Соколов, Отвергнут не был! Я его уже использовал. Просто хотел узнать, есть ли еще варианты?
  • Завезли нечитаемые макароны!

    (arr => Object.fromEntries(['a', 'b', 'c'].map((p, i) => [p, arr[i]])))([1, 2, 3]) // Object { a: 1, b: 2, c: 3 }  // или так, что чуть короче, но такой же фарс (arr => Object.fromEntries(Array.from('abc', (p, i) => [p, arr[i]])))([1, 2, 3])

    (arr => Object.fromEntries(['a', 'b', 'c'].map((p, i) => [p, arr[i]])))([1, 2, 3]) // Object { a: 1, b: 2, c: 3 } // или так, что чуть короче, но такой же фарс (arr => Object.fromEntries(Array.from('abc', (p, i) => [p, arr[i]])))([1, 2, 3])

    • Жутко! Почки как "Нечто" Карпентера в мои 12. Реально с константами более наглядно.
    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Анна SEO Ответ

    Да, можно присвоить массив ключам объекта в PHP. Для этого нужно создать объект, а затем использовать квадратные скобки для присвоения значения ключу объекта массива. Вот пример:

    $obj = new stdClass();
    $obj->key = ['value1', 'value2'];

    $obj = new stdClass(); $obj->key = ['value1', 'value2'];

    В данном примере мы создаем объект с помощью функции `new stdClass()`, а затем присваиваем массив `['value1', 'value2']` ключу `key` объекта. Теперь у нас есть объект, у которого ключ `key` содержит массив из двух значений.

    Этот подход особенно полезен, когда нужно хранить структурированные данные в объекте. Например, если у вас есть объект пользователя и вам нужно хранить список его друзей, вы можете использовать массив в качестве значения ключа объекта.

    Таким образом, присвоение массива ключам объекта в PHP является допустимой операцией и может быть использовано для решения различных задач программирования.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно