3 回答
TA貢獻1934條經(jīng)驗 獲得超2個贊
您發(fā)布的數(shù)據(jù)格式無效。我猜你想要一個數(shù)組,在這種情況下你的數(shù)據(jù)應該是這樣的結構:
const data = [
{
FID: 11,
Kode_Provi: 31,
Provinsi: "DKI Jakarta"
},
{
FID: 20,
Kode_Provi: 35,
Provinsi: "Surabaya"
}
]
現(xiàn)在,有了這種格式的數(shù)據(jù),我們可以看看Array.prototype.filter函數(shù)。
使用這個filter函數(shù),你可以編寫自己的函數(shù)來做你想做的事:
/**
* 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;
}
現(xiàn)在你可以做你想做的事:
respon.text = getProvinsiForMessage(data, message);
TA貢獻1827條經(jīng)驗 獲得超8個贊
您可以使用以下語法。您可以研究箭頭運算符以更好地理解這一點。
respon.text = data.filter(d => message.includes(d.FID))[0].Provinsi;
請注意,您需要處理未找到該值的情況。
TA貢獻1828條經(jīng)驗 獲得超13個贊
您的數(shù)據(jù)沒有有效的格式,例如,您可以改用數(shù)組,如下所示:
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']
添加回答
舉報
