我正在運行 PostgreSQL 查詢:
'SELECT * FROM table'
在我的服務器端,我正在嘗試生成以下格式的 JSON 物件,但某些 column# 值設定為“未定義”,因為 row.value# 未定義:
{
column1: row.value1,
column2: row.value2,
column3: row.value3,
column4: row.value4,
column5: row.value5,
column6: row.value6,
column7: row.value7,
column8: row.value8,
column9: row.value9,
}
在我的客戶端,我正在嘗試接收一組 JSON 物件,但它們的格式不同,因為只要其中一個列#具有未定義的值,它就會從 JSON 物件中洗掉,以便它如下所示(因為未定義第 5 列、第 6 列和第 8 列)。
{
column1: row.value1,
column2: row.value2,
column3: row.value3,
column4: row.value4,
column7: row.value7,
column9: row.value9,
}
我的解決方案是為 JSON 物件中的屬性提供默認值,以防 row.value# 未定義。我該怎么做(用物件中的一些默認值替換“未定義”)。
uj5u.com熱心網友回復:
您可以像這樣使用三元運算子 ( ? :):
const row = {
value2: "Praveen",
value6: "Kumar",
value8: "Purushothaman"
};
console.log({
column1: row.value1 ? row.value1 : "NA",
column2: row.value2 ? row.value2 : "NA",
column3: row.value3 ? row.value3 : "NA",
column4: row.value4 ? row.value4 : "NA",
column5: row.value5 ? row.value5 : "NA",
column6: row.value6 ? row.value6 : "NA",
column7: row.value7 ? row.value7 : "NA",
column8: row.value8 ? row.value8 : "NA",
column9: row.value9 ? row.value9 : "NA",
});
這給了我一個輸出:
{
"column1": "NA",
"column2": "Praveen",
"column3": "NA",
"column4": "NA",
"column5": "NA",
"column6": "Kumar",
"column7": "NA",
"column8": "Purushothaman",
"column9": "NA"
}
還有一種方法可以使用空合并運算子。但這可能并不總是得到支持。但是,上述邏輯每次都有效。
uj5u.com熱心網友回復:
你可以做這樣的事情
const defaultValues = {
col1: "col1",
col2: "col2",
col3: "col3"
};
const fromApi = {
col2 : 'my value col2'
}
const result = {...defaultValues, ...fromApi}
console.log(result)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/461872.html
