Как я могу добавить объекты с несколькими значениями в массив?

#javascript #html

#javascript #HTML

Вопрос:

Привет, как мне добавить 2 значения из 2 разных пользовательских вводов в качестве одного объекта в массив?

Это мой текущий код, он этого не делает, вместо этого он добавляет значения как отдельные объекты, а не один с 2 значениями, как объект, уже находящийся в массиве

 <!DOCTYPE html>
<html>
<title>W3.CSS</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">

<script>
function main(){
 let a = prompt('enter a number');
 let b = prompt('enter a name');
let data = [{name:'Joe', number:6}];
data.push(a,b);
console.log(data);
}
main();
</script>

<button onclick = "main()"> click </button>
</html>
 

Комментарии:

1. data.push( {name:b, number:a} )

Ответ №1:

Исправил ваш код. Вы помещали имя и номер как отдельный элемент в массив. Просто нажмите объект (используется объектная нотация для object {}) из именных и цифровых клавиш.

 const data = [{ name: "Joe", number: 6 }];

console.log(data);

function main() {
  let a = prompt("enter a number");
  let b = prompt("enter a name");

  data.push({ name: b, number: Number(a) });
  
  console.clear()
  console.log(data);
} 
 .as-console-wrapper { max-height:100% !important; top:0; left:40% !important; width:60%; }
.as-console-row         { background-color: #87f1f1; }
.as-console-row::after  { display:none !important; }
.as-console-row::before { content:'data='; font-size:.9em; } 
 <button onclick="main()">add values to data array</button>