亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從 Function() 調用中的參數 JSON 返回 RegExp.$ 參數?

如何從 Function() 調用中的參數 JSON 返回 RegExp.$ 參數?

aluckdog 2023-03-03 09:56:43
我正在嘗試將一組參數從 JSON 文件返回到 RegExp.$(又名 JS 的 f 字符串)。const schema = require('../schema.json').Flights;class flightRepo{    keys = Object.keys(schema);    create(db) {            return client.query(            "INSERT INTO flights ($1, $2, $3, $4, $5, $6) VALUES ($7, $8, $9, $10, $11, $12)",            keys[0], keys[1], keys[2], keys[3], keys[4], keys[5],            db.schema.keys[0], db.schema.keys[1], db.schema.keys[2], db.schema.keys[3], db.schema.keys[4], db.schema.keys[5]        );    }}關于client.query:來自 Deno 的 PostgreSQL Lib數據庫的客戶端對象:傳遞列表 [args[0-5] for each key] 以創建新的數據庫條目JSON 結構{    "Flights" : {        "FlightNo": "INT PRIMARY KEY",        "Airlines": "STRING 50",        "Time": "DATETIME",        "OnTime": "BOOLEAN",        "Dep": "STRING 4",        "Arr": "STRING 4"    }}我想要做的是消除手動指定 n 個參數 (keys[0-5]) 和 ($1-12) 的需要,而是創建一個表達式來為任何 x-item 鍵列表執行此操作。(也很高興知道一種方法來消除在 Ln.1 中輸入“Flights”JSON 鍵的需要)
查看完整描述

1 回答

?
嚕嚕噠

TA貢獻1784條經驗 獲得超7個贊

我不得不做出一些假設,但是您可以通過$#基于數組keys(可能在模板文字中)創建標記并使用擴展符號來展開keys和db.schema.keys數組來使代碼改變鍵的數量;看評論:


const schema = require('../schema.json').Flights;


class flightRepo {

//    ^?????????????????????????????? the convention is to capitalize this F

    keys = Object.keys(schema);


    create(db) {    

        return client.query(

            `INSERT INTO flights (${keys.map((_, i) => `${i + 1}`)}) VALUES (${keys.map((_, i) => `${i + 1 + keys.length}`)})`,

            ...keys,

            ...db.schema.keys // Assumes `db.schema.keys` is known to have the same length as `keys`

        );

    }

}

也很高興知道一種方法來消除在 Ln.1 中輸入“Flights”JSON 鍵的需要


你需要說出你想要的對象的哪一部分。如果需要,您可以通過使用解構和重命名來重新定位它:


const {Flights: schema} = require('../schema.json');

...但是您所擁有的可能更清楚?;蛘弋斎?,不要更改名稱:


const {Flights} = require('../schema.json');

...并使用Flights而不是schema. 但是,如果它引用的不是構造函數,那么將其大寫可能會造成混淆。


現在您已經顯示了 JSON,我們可以看到(至少在這個例子中)Flights是對象的唯一屬性。如果你可以依賴它,你可以這樣做:


const data = require("./schema.json");

const schema = data[Object.keys(data)[0]];


查看完整回答
反對 回復 2023-03-03
  • 1 回答
  • 0 關注
  • 132 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號