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条经验 获得超7个赞
您可以使用以下语法。您可以研究箭头运算符以更好地理解这一点。
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']
添加回答
举报