I have two arrays.
I want to update array1
by getting array2
multiple
value by matching on each array’s color
value.
I am using this to do the following code to do the work. Note for purposes of this question both array contents are fake data not my actual array data.
JavaScript
x
11
11
1
const array1 = [{color: "blue", report_date: "2020-12-12", count: "10"},
2
{color: "blue", report_date: "2020-12-13", count: "20"},
3
{color: "red", report_date: "2020-12-14", count: "4"}]
4
5
const array2 = [{color: "blue", multiple: ".2"},
6
{color: "red", multiple: ".3"}]
7
8
9
const array3 = array1.map(t1 => ({t1, array2.find(t2 => t2.color === t1.color)}))
10
11
console.log(array3);
The code does return expected results here.
However, when I use my actual arrays, it does correctly return multiple values, but it shows color as undefined eg as follows:
JavaScript
1
4
1
array3 = [{color: undefined, report_date: "2020-12-12", count: "10", multiple: ".2"},
2
{color: undefined, report_date: "2020-12-13", count: "20", multiple: ".2"},
3
{color: undefined, report_date: "2020-12-14", count: "4", multiple: ".3"}]
4
Can anyone provide any troubleshooting hints as to why I see color = undefined for my actual arrays?
Advertisement
Answer
I had to JSON.stringify
the output in order to see that in fact the color
values were correctly populated.
Eg this shows the color
values as expected:
JavaScript
1
2
1
console.log(JSON.stringify(array3));
2
For some reason, just using:
JavaScript
1
2
1
console.log(array3);
2
Showed the color
values as undefined
.