Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
4.6k views
in Technique[技术] by (71.8m points)

JavaScript .map() to update array with value from another array - returns value but key is undefined

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.

const array1 = [{color: "blue", report_date: "2020-12-12", count: "10"},
          {color: "blue", report_date: "2020-12-13", count: "20"},
          {color: "red", report_date: "2020-12-14", count: "4"}]

const array2 = [{color: "blue", multiple: ".2"},
          {color: "red", multiple: ".3"}]


const array3 = array1.map(t1 => ({...t1, ...array2.find(t2 => t2.color === t1.color)}))

console.log(array3);

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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:

console.log(JSON.stringify(array3));

For some reason, just using:

console.log(array3);

Showed the color values as undefined.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...