将对象转换为名称值对列表的简便方法?

时间:2018-11-27 17:24:47

标签: javascript jquery

是否有一种简单的方法可以将对象转换为名称值对,例如使用.serializeArray()生成的jquery

这不起作用:

var data = {
    name: "John",
    age: 26,
    isMale: true,
    occupation: null
}

var serialized = $(data).serailizeArray();

是否有一种简单的方法,而无需查看每个属性并将它们转换为名称/值对?

我正在使用由其他人编写的帮助程序功能,该功能在将每个名称调用添加到服务器之前将其添加到每个调用中。显然,如果我给它一个常规对象或一个包含常规对象的数组,它将无法正常工作。

2 个答案:

答案 0 :(得分:0)

您可以结合使用Object.entriesmap(假设您想要的数据格式与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);

答案 1 :(得分:-2)

如果您使用的是ES6,这应该可以解决问题:

Lines <- "
id   start          end
1   22/03/2016    05/06/2016
2   17/08/2016    29/08/2016
3   22/09/2017    25/12/2017"
DF <- read.table(text = Lines, header = TRUE)