Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Javascript中将对象的字段名转换为值_Javascript_Ecmascript 6_Javascript Objects - Fatal编程技术网

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

如何在Javascript中将对象的字段名转换为值,javascript,ecmascript-6,javascript-objects,Javascript,Ecmascript 6,Javascript Objects,我试图以最简单的方式将{fieldName:value}这样的对象转换为另一个{field:fieldName,value:value}这样的对象,而事先不知道fieldName是什么 我已经查看了的答案,但尽管这是可行的,但它依赖于字段名已经已知的事实。以下工作: const key = Object.keys(searchObject)[0]; return { field: key, value: searchObject[key] } 但它看起来笨重、笨重且容易出错。我想要的是相当

我试图以最简单的方式将{fieldName:value}这样的对象转换为另一个{field:fieldName,value:value}这样的对象,而事先不知道fieldName是什么

我已经查看了的答案,但尽管这是可行的,但它依赖于字段名已经已知的事实。以下工作:

const key = Object.keys(searchObject)[0];
  return { field: key, value: searchObject[key] }
但它看起来笨重、笨重且容易出错。我想要的是相当于

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

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

迭代对象中的每个属性,并创建另一个属性,其中键和值作为分隔属性,然后将其推送到新数组并返回

例如:

var test_data={fieldName:name,fieldName2:name2} 函数转换数据{ var结果=[] 数据中的forvar k{ 结果:推{ 字段:k, 值:数据[k] } } 返回结果 } console.logconverttest_数据 //---英语六级// console.log Object.keystest_data.mapa=>{field:a,value:test_data[a]}
您可能对ES6感兴趣,它看起来还可以,但我正试图避免使用阵列解决方案。也许这是最好的结果。