我有一个嵌套对象,由不同层次结构中的数组组成。我如何在vanilla JS中递归创建一个包含对象所有可能性的数组,每个数组元素都在对象上迭代。 “扁平化”?例如,假设我们的对象是:
let object = { phone: { home: [1111111111, 9999999999], office: 3 }, name: [officialName, petName] }
结果数组是:
resultArr = [
{ phone: { home: 1111111111, office: 3 }, name: 'petName' },
{ phone: { home: 1111111111, office: 3 }, name: 'officialName' },
{ phone: { home: 9999999999, office: 3 }, name: 'petName'},
{ phone: { home: 9999999999, office: 3 }, name: 'officialName'}
];
据我所知,为了能够动态地执行此操作,我应该创建一个递归函数。我能够逐个获取所有数组元素,但是当我在迭代中'展平'该特定数组时,另一个数组保持原样,我无法修复该部分/思考。 这是我的代码链接:https://codepen.io/anon/pen/VWNdXe