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

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

在 JavaScript 上過濾數據關系

在 JavaScript 上過濾數據關系

至尊寶的傳說 2022-06-09 11:09:10
我在這里有關于變量的數據:const data = {FID: 11              Kode_Provi: 31              Provinsi: "DKI Jakarta"             },             {              FID: 20              Kode_Provi: 35              Provinsi: "Surabaya"              }我在設置消息 FID 時嘗試過濾數據。想要的結果屬性是Provinsi.例如,當我設置消息 FID=20 時,結果是泗水。這就是我現在正在做的事情:if (message.includes(data[0].FID)) {    respon.text = data[0].Provinsi} else if (message.includes(data[1].FID)) {    respon.text = data[1].Provinsi} 我想找到一種優化的方法,因為有很多數據。有什么建議這樣做嗎?if (message.includes(ask)) {    respon.text = answer}
查看完整描述

3 回答

?
撒科打諢

TA貢獻1934條經驗 獲得超2個贊

您發布的數據格式無效。我猜你想要一個數組,在這種情況下你的數據應該是這樣的結構:


const data = [

  {

    FID: 11,

    Kode_Provi: 31,

    Provinsi: "DKI Jakarta"

  },

  {

    FID: 20,

    Kode_Provi: 35,

    Provinsi: "Surabaya"

  }

]

現在,有了這種格式的數據,我們可以看看Array.prototype.filter函數。


使用這個filter函數,你可以編寫自己的函數來做你想做的事:


/**

 * This function will return null if the message can't be found in the

 * data array or if either inputs are invalid.

 */

function getProvinsiForMessage(data, message) {

  if (data && message) {

    const result = data.filter(dataEntry => message.includes(dataEntry.FID));


    return result && result.length ? result[0].Provinsi : null;

  }


  return null;

}

現在你可以做你想做的事:


respon.text = getProvinsiForMessage(data, message);


查看完整回答
反對 回復 2022-06-09
?
慕仙森

TA貢獻1827條經驗 獲得超8個贊

您可以使用以下語法。您可以研究箭頭運算符以更好地理解這一點。

respon.text = data.filter(d => message.includes(d.FID))[0].Provinsi;

請注意,您需要處理未找到該值的情況。


查看完整回答
反對 回復 2022-06-09
?
慕田峪7331174

TA貢獻1828條經驗 獲得超13個贊

您的數據沒有有效的格式,例如,您可以改用數組,如下所示:


const data = [

  { FID: 11, Kode_Provi: 31, Provinsi: "DKI Jakarta" },

  {

    FID: 20,

    Kode_Provi: 35,

    Provinsi: "Surabaya"

  }

];

然后過濾和映射以獲得所有“Provinsi”:


let fid = 20;

data.filter(obj => obj.FID === fid).map(result => result.Provinsi); // ['Surabaya']


查看完整回答
反對 回復 2022-06-09
  • 3 回答
  • 0 關注
  • 153 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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