JS递归地打印嵌套对象的所有可能性

时间:2017-07-17 06:33:22

标签: javascript arrays object recursion nested

我有一个嵌套对象,由不同层次结构中的数组组成。我如何在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

0 个答案:

没有答案