我试图以最简单的方式将一个对象转换{fieldName: "value"}
为另一个对象{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
。
迭代对象中的每个属性并创建另一个将键和值作为分隔属性的属性,然后将其推送到一个新数组并返回它。
例子:
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]}))
)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句