Javascript lodash展平内部数组(对象的一部分),并根据数组长度生成尽可能多的对象

Javascript lodash展平内部数组(对象的一部分),并根据数组长度生成尽可能多的对象,javascript,arrays,lodash,Javascript,Arrays,Lodash,我有以下对象数组。我希望根据内部“Y”数组长度生成尽可能多的对象 var arr = [{x:1,y:[1,2]},{x:2,y:[1,2]}]; 预期产出如下: var arr = [{x:1,y:1},{x:1,y:2},{x:2,y:1},{x:2,y:2}] 代码我已经试过了,但是我不能 arr.forEach(item => { return item.y.forEach(inner => { return inner; }) }) 可以将平面贴图与嵌

我有以下对象数组。我希望根据内部“Y”数组长度生成尽可能多的对象

var arr = [{x:1,y:[1,2]},{x:2,y:[1,2]}];
预期产出如下:

var arr = [{x:1,y:1},{x:1,y:2},{x:2,y:1},{x:2,y:2}]
代码我已经试过了,但是我不能

arr.forEach(item => {
  return item.y.forEach(inner => {
    return inner;
  })
})
可以将平面贴图与嵌套贴图一起使用。在主数组上使用flatMap,并在该对象的“在y上使用贴图”属性的内部使用flatMap。从内部映射函数返回一个对象,其y属性不同,x属性相同

var arr=[{x:1,y:[1,2]},{x:2,y:[1,2]}]; const res=arr.flatMap{x,y}=>y.mapy=>{x,y}; console.logres您可以将flatMap与嵌套映射一起使用。在主数组上使用flatMap,并在该对象的“在y上使用贴图”属性的内部使用flatMap。从内部映射函数返回一个对象,其y属性不同,x属性相同

var arr=[{x:1,y:[1,2]},{x:2,y:[1,2]}]; const res=arr.flatMap{x,y}=>y.mapy=>{x,y}; 控制台。logres