javascript - 将对象转换为名称值对列表的简单方法?
问题描述
有没有一种简单的方法可以将对象转换为名称值对,例如 jquery 生成的.serializeArray()
这不起作用:
var data = {
name: "John",
age: 26,
isMale: true,
occupation: null
}
var serialized = $(data).serailizeArray();
有没有一种简单的方法可以做到这一点,而无需查看每个属性并将它们转换为名称-值对?
我正在使用由其他人编写的辅助函数,该函数在将其发布到服务器之前为每个调用添加一个名称值对。显然,如果我给它一个常规对象或具有常规对象的数组,它就不起作用。
解决方案
您可以使用Object.entries
and的组合来执行此操作map
(假设您希望数据采用与serializeArray
返回相同的格式):
var data = {
name: "John",
age: 26,
isMale: true,
occupation: null
};
var result = Object.entries(data).map(([k, v]) => ({name: k, value: v}));
console.log(result);
推荐阅读
- .net-core - .net core 2.1 验证状态:无效
- reactjs - 'Fragment' 已定义但从未在使用 ESLint 的 React 应用程序中使用 no-unused-vars 警告
- xamarin - Xamarin 表单:AbsoluteLayout
- java - Java Poem Palindrome Checker:按顺序遍历数组匹配元素
- java - 如何自动确定 RecyclerView 网格的项目适合计数
- python - 异步初始化时将参数传递给python类
- .net - 缺少 Msbuild Epi 服务器项目模块
- php - 像 laravel 中的数组元素一样保存 Object 属性
- macos - 此变量未设置为 R
- php - REGEX 捕获函数名称,即使递归使用