繁体   English   中英

如何将对象的字段名称转换为 Javascript 中的值

[英]How to convert object's field name to value in Javascript

我正在尝试以最简单的方式将 object 像{fieldName: "value"}转换为另一个 object 像{field: "fieldName", value: "value"} ,而不知道预先知道 fieldName 是什么。

我已经查看了如何在 javascript 中将字符串转换为对象的字段名称的答案,但尽管这有效,但它依赖于 fieldName 已知这一事实。 以下作品:

const key = Object.keys(searchObject)[0];
  return { field: key, value: searchObject[key] }

但它看起来笨重、笨重且容易出错。 我想要的是相当于

const obj = { field: [searchObject.key], ... }

但这仅适用于[searchObject.key]searchObject.key的情况。

遍历 object 中的每个属性,并使用键和值作为分离的属性创建另一个,然后将其推送到新数组并返回。

例子:

 var test_data = {fieldName: "name", fieldName2: "name2"} function convert(data){ var result = [] for(var k in data){ result.push({ field: k, value: data[k] }) } return result } console.log(convert(test_data)) // ------ ES6 ---------- // console.log( Object.keys(test_data).map(a=>({field: a, value: test_data[a]})) )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM