Задать вопрос
ImpAnonym
@ImpAnonym
Lorem ipsum dolor sit amet

Как записать аналог из PHP в JavaScript?

Исходный код:
Раскрыть
<?php
$firstArr = [
  0 => [
    'text' => 'Lorem',
    'type' => 'string',
  ],
  1 => [
    'text' => 'Ipsum',
    'type' => 'string',
  ],
  2 => [
    'text' => 32,
    'type' => 'integer',
  ],
  3 => [
    'text' => 64,
    'type' => 'integer',
  ],
  4 => [
    'text' => 128,
    'type' => 'integer',
  ],
];

foreach ($firstArr as $values) {
  $secondArr[] = $values['text'];
}

print_r($secondArr);


Сложности вызывает:
$secondArr[] = $values['text'];

Именно квадратные скобки $secondArr[] = $values['text'];

Интересует именно простота.

Песочница

UPD: А как делать, с объектом? Т.е. у меня массив firstArr — объект в JavaScript

Loli E1ON NewSantaClaus WbICHA Алексей Рудьковский Slava Rozhnev generate я обновил описание, посмотрите, пожалуйста.
  • Вопрос задан
  • 188 просмотров
Подписаться 1 Простой 3 комментария
Решения вопроса 4
E1ON
@E1ON Куратор тега JavaScript
Programming, Gamedev, VR
firstArr.map(({ text }) => secondArr.push(text));
Ответ написан
rozhnev
@rozhnev Куратор тега PHP
Fullstack programmer, DBA, медленно, дорого
Вот пожалуйста:
var test = [
  {
    "text": "Lorem",
    "type": "string",
  },
  {
    "text": "Ipsum",
    "type": "string",
  },
  {
    "text": 32,
    "type": "integer",
  },
  {
    "text": 64,
    "type": "integer",
  },
  {
    "text": 128,
    "type": "integer",
  }
];

var result = test.map(el=>el.text);

console.log(result);
Ответ написан
Комментировать
@generate
...
Думаю так будет работать похожим на [] в php
newarray[newarray.length]

let newarray = []; //Создаем новый массив

//Ваш array массив обходим в цикле
array.forEach(element => {
newarray[newarray.length] = element.text;
});

console.log(newarray);
Ответ написан
Комментировать
@NewSantaClaus
Можно так
let firstArr = [
  {
    text: 'Lorem',
    type: 'string'
  },
  {
    text: 'Ipsum',
    type: 'string'
  },
  {
    text: 32,
    type: 'integer'
  },
  {
    text: 64,
    type: 'string'
  },
  {
    text: 128,
    type: 'string'
  },
]

let secondArr = []


for(let item of firstArr){
  secondArr.push(item.text)
}

console.log(secondArr)


Или так
let secondArr = firstArr.map(item => item.text)
console.log(secondArr)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы