3 回答

TA贡献1777条经验 获得超3个赞
您可以通过查看带有表达式的键beginning和ending前缀来迭代字段并组合所需的查询BETWEEN。
var data = { inputID1: "content1", inputID2: "content2", inputID3: "content3", beginningDate: "2020-02-02", endingDate: "2022-03-03", inputID4: "content4", inputID5: "content5", inputID6: "content6", inputID7: "content7", inputID8: "content8" },
fields = { Date: 'date', inputID1: "dbField1", inputID2: "dbField2", inputID3: "dbField3", inputID4: "dbField4", inputID5: "dbField5", inputID6: "dbField6", inputID7: "dbField7", inputID8: "dbField7" },
result = Object
.entries(fields)
.map(([k, v]) => (('beginning' + k) in data) && (('ending' + k) in data)
? `${v} BETWEEN '${data['beginning' + k]}' AND '${data['ending' + k]}'`
: `${v}='${data[k]}'`
)
.join(' AND ');
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }

TA贡献1825条经验 获得超4个赞
你可以使用这样的东西:
const content = {
"inputID1": "content1",
"inputID2": "content2",
"inputID3": "content3",
"beginningDate": "2020-02-02",
"endingDate": "2022-03-03",
"inputID4": "content4",
"inputID5": "content5",
"inputID6": "content6",
"inputID7": "content7",
"inputID8": "content8"
}
const fieldNames = {
"inputID1": "dbField1",
"inputID2": "dbField2",
"inputID3": "dbField3",
"inputID4": "dbField4",
"inputID5": "dbField5",
"inputID6": "dbField6",
"inputID7": "dbField7",
"inputID8": "dbField7",
};
const result = Object.entries(fieldNames).reduce((a, [k, v]) => (a[v] = content[k], a), {});
console.log(result);
这将遍历fieldNames条目并使用条目的值作为键和值,来自content与条目键匹配的对象的值生成一个新对象。

TA贡献1993条经验 获得超5个赞
此代码可以为您完成:
const content = {
"inputID1": "content1",
"inputID2": "content2",
"inputID3": "content3",
"beginningDate": "2020-02-02",
"endingDate": "2022-03-03",
"inputID4": "content4",
"inputID5": "content5",
"inputID6": "content6",
"inputID7": "content7",
"inputID8": "content8"
}
const fieldNames = {
"inputID1": "dbField1",
"inputID2": "dbField2",
"inputID3": "dbField3",
"inputID4": "dbField4",
"inputID5": "dbField5",
"inputID6": "dbField6",
"inputID7": "dbField7",
"inputID8": "dbField7",
};
const result = {};
Object.keys(fieldNames).forEach(key => result[fieldNames[key]] = content[key]);
console.log(result);
添加回答
举报