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);

TA貢獻1827條經驗 獲得超8個贊
您可以使用以下語法。您可以研究箭頭運算符以更好地理解這一點。
respon.text = data.filter(d => message.includes(d.FID))[0].Provinsi;
請注意,您需要處理未找到該值的情況。

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']
添加回答
舉報