【发布时间】:2020-11-20 06:26:58
【问题描述】:
我有一个包含数据的对象,现在我想以特定模式对其进行转换。
下面是我的对象
{
_groups: ["d1830f7c-12ac-4abf-bc03-f0b70e26f8f2", "d0348b51-dcaa-2227-f0ff-912b27100aee"],
_eror: "",
number: "",
seen_days: Infinity, // dont count this if this is Infinity or make add it
address: "",
status: "ACTIVE"
}
现在如果我想把它转换成下面的模式。
[
{
"field": "status",
"value": "ACTIVE",
"operator": "equal"
},
{
"field": "_groups",
"value": "d1830f7c-12ac-4abf-bc03-f0b70e26f8f2",
"operator": "equal"
},
{
"field": "_groups",
"value": "d0348b51-dcaa-2227-f0ff-912b27100aee",
"operator": "equal"
}
]
const convert = (obj) => {
const arr = [];
obj._groups.forEach((el) => {
arr.push({
field: "_groups",
value: el,
operator: "equal",
});
});
console.log(obj)
var key = Object.keys(obj);
var value = obj[key];
arr.push({
field: value,
value: obj.status,
operator: "equal",
});
return arr;
}
目前正在尝试此功能,但未按预期工作。
- 仅包括那些有数据的字段,排除其他字段也 Infinity
- 需要转换为数组对象的对象是动态的,每次数据都会不同但需要转换成上述模式(数组对象模式)。
- Motive 是将数组对象的模式与为动态对象提供数据相匹配。(数据将不同,但应将其转换为上述模式。)
【问题讨论】:
-
data 已经是复数了 :P data 的单数是 datum。
-
请说明您目前是如何解决的。您当前的代码。以及你被困在哪里。
-
运营商属性从何而来?它总是只是“相等”还是什么?
-
@Iwrestledabearonce。是的,它总是相等的,而且我已经用我一直在尝试设置的功能更新了这个问题。请帮忙
标签: javascript node.js arrays reactjs