Задать вопрос
@Speakea1y1289

Как в элемент массива добавить массив новых элементов JavaScript?

Добрый день. Имеется такой код:
var arrProps = ["GROUP_PROPS"];
var groups = ["Тест1", "Тест2", "Тест3"];
arrProps.push(groups);


Задача: добавить в массив arrProps, в его элемент ["GROUP_PROPS"] другой массив groups, так чтобы структура массива была следующая:
array(
	[GROUP_PROPS] => array("Тест1", "Тест2", "Тест3"),
);


Как это сделать? Как обратиться к элементу GROUP_PROPS?
  • Вопрос задан
  • 1024 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 3
@andreysuha
Что то знаю
hzzzzl
@hzzzzl
так?
https://www.xcom-shop.ru/hp_22-c0015ur_645720.html

all = [...document.querySelectorAll('.prop-column div')].filter(div => !div.matches('.hide, .call, .prop-value'))
obj = {}
current = ''

all.forEach(div => {
  try {
    if(div.matches('.delimiter')) {
      obj[div.textContent] = []
      current = div.textContent
    } else {
      obj[current].push({
        [div.querySelector('.call').textContent] : div.querySelector('.prop-value').textContent
      })
    }
  } catch {}
})

console.log(obj)
Ответ написан
Комментировать
@RomanChasovitin
Front-End developer
В элемент string нельзя положить массив =) Если же вы хотите сделать массив объектом, то тут уже сложнее:
const arr = ['some'];

const props = ['something', 'more', '...'];

function createObjectFromArray(array) {
	let obj = {};
  array.map(itm => obj[itm] = itm);
  return obj;
}

function transformArrayToObject(arr, elementIndex, value) {
	if(!arr || isNaN(elementIndex) || !value) return {};
	const objectFromArr = createObjectFromArray(arr);
  objectFromArr[arr[elementIndex]] = value;
  return objectFromArr;
}

console.log(transformArrayToObject(arr, 0, props));
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 11:03
5000 руб./за проект
18 дек. 2024, в 10:44
130000 руб./за проект
18 дек. 2024, в 10:02
7000 руб./за проект