How can I create an array of objects like this?
JavaScript
x
17
17
1
let cars = [
2
{
3
color: "purple",
4
type: "minivan",
5
capacity: 5
6
},
7
{
8
color: "red",
9
type: "suv",
10
capacity: 5
11
},
12
{
13
14
},
15
16
]
17
JavaScript
1
9
1
let cars = [];
2
3
$(".car").each(function() {
4
5
var color = $(this).data('color');
6
var type = $(this).data('type');
7
var capacity = $(this).data('capacity');
8
cars.push();
9
});
JavaScript
1
5
1
.car {
2
background: gold;
3
padding: 10px;
4
margin: 6px;
5
}
JavaScript
1
4
1
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
2
<div class="car" data-color="purple" data-type="minivan" data-capacity="5"> Car 1</div>
3
<div class="car" data-color="red" data-type="suv" data-capacity="5"> Car 2</div>
4
<div class="car" data-color="green" data-type="sedan" data-capacity="2"> Car 3</div>
Advertisement
Answer
You are doing it right, you need to push the elements objects into the array
JavaScript
1
11
11
1
let cars = [];
2
3
$(".car").each(function() {
4
5
var color = $(this).data('color');
6
var type = $(this).data('type');
7
var capacity = $(this).data('capacity');
8
cars.push({color, type, capacity});
9
});
10
11
console.log(cars)
JavaScript
1
5
1
.car {
2
background: gold;
3
padding: 10px;
4
margin: 6px;
5
}
JavaScript
1
4
1
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
2
<div class="car" data-color="purple" data-type="minivan" data-capacity="5"> Car 1</div>
3
<div class="car" data-color="red" data-type="suv" data-capacity="5"> Car 2</div>
4
<div class="car" data-color="green" data-type="sedan" data-capacity="2"> Car 3</div>