3 回答

TA貢獻1777條經(jīng)驗 獲得超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條經(jīng)驗 獲得超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條經(jīng)驗 獲得超6個贊
此代碼可以為您完成:
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);
添加回答
舉報