将具有键的对象转换为javascript中的对象数组

时间:2018-07-15 01:50:38

标签: javascript routing react-native-web

我在尝试将具有键的对象转换为javascript中的对象数组时遇到了问题

将输入对象转换为所需输出数组结构的最佳方法是什么?

const routes = {
    Home: {
        screen: HomeScene,
        path: '/'
    },
    About: {
        screen: AboutScreen,
        path: '/about'
    }
};

const output_routes = 
[{
    component: Layout,
    routes: [{
        path: '/',
        exact: true,
        component: HomeScene,
    },
    {
        path: '/about',
        exact: true,
        component: AboutScreen,
    }],
}];

2 个答案:

答案 0 :(得分:0)

Object.keys()函数非常适合这样的事情。

尝试一下:

function toArray(obj) {
  return Object.keys(obj).map(function(key) {
    return obj[key];
  });
}

ES6

const toArray = (obj) => Object.keys(obj).map(key => obj[key]);

哪些应该给您:

[
   { screen: HomeScene, path: '/' },
   { screen: AboutScreen, path: '/about' } 
]

答案 1 :(得分:0)

我能够如下实现。这有助于我在我的react-native-web应用程序中使用相同的路由对象进行react-navigation和react-routerv4。

Xamarin.Forms