Как преобразовать данные из поля ввода с атрибутами name="result[1][question]" и value="2" в объект?

Как можно создать объект, используя имя инпута result[1][question] для заполнения значением этого инпута в свойство question?
  • 20 февраля 2024 г. 14:18
Ответы на вопрос 1
Для преобразования данных из поля ввода в объект, можно использовать следующий код на JavaScript:

```javascript
const input = document.querySelector('input[name="result[1][question]"]');
const questionValue = input.value;

const result = {
  1: {
    question: questionValue
  }
};

console.log(result);
```

Этот код найдет элемент input с атрибутом name="result[1][question]", получит его значение и затем создаст объект result, где свойство 1 будет иметь вложенный объект с свойством question, заполненным значением из инпута.

Чтобы использовать имя инпута result[1][question] для создания объекта, можно использовать следующий код:

```javascript
const inputs = document.querySelectorAll('input');
const result = {};

inputs.forEach(input => {
  const name = input.getAttribute('name');
  const value = input.value;
  
  if (name) {
    const matches = name.match(/result\[(\d+)\]\[question\]/);
    if (matches) {
      const index = matches[1];
      result[index] = { question: value };
    }
  }
});

console.log(result);
```

Этот код найдет все элементы input на странице, затем для каждого элемента проверит его имя и, если оно соответствует шаблону result[число][question], то извлечет значение числа (индекс) и заполнит соответствующее свойство объекта result значением этого инпута в свойство question.
Похожие вопросы