我有一個我想要搜索的模型列表,併爲正確的那個拉出url。我不會總是擁有完整的鑰匙,也不會擁有完整的價值,但永遠至少有一個獨特的部分。JavaScript/jQuery通過變量和返回值的部分匹配找到JSON鍵/值
現在,代碼僅處於測試模式,其中一組數字與鍵匹配,打印成功或失敗。
控制檯告訴我模型[i] .indexOf不是函數。我知道這是一個對象,但是當我對它做一個toString時,我會得到「object Object」。我不瞭解什麼?
我很高興與一個解決方案,是香草JavaScript或使用jQuery。
代碼:
if ($('.mobile_tutorial').length) {
var device = /*$device.model*/ "NTZEZ717VLU", model_code = device.substr(2).substr(0,device.length-3);
$.ajax({
url: "/scripts/phone_models.json",
type: 'get',
dataType: 'json',
success: function (data) {
var models = data.Manufacturer;
for (var i = models.length - 1; i >= 0; i--) {
if (models[i].indexOf(model_code) > -1) {
console.log(models[i])
} else {
console.log('no match')
}
}
}
});
}
的JSON(部分):
{
"Manufacturer": [{
"ZEZ955L": "http://x.com/mobile/home.seam?custId=ZEZ955L"
}, {
"ZEZ990G": "http://x.com/mobile/home.seam?custId=ZEZ990G"
}, {
"ZEZ828TL": "http://x.com/mobile/home.seam?custId=ZEZ828TL"
}, {
"ZEZ716BL": "http://x.com/mobile/home.seam?custId=ZEZ716BL"
}, {
"ZEZ717VL": "http://x.com/mobile/home.seam?custId=ZEZ717VL"
}, {
"ZEZ962BL": "http://x.com/mobile/home.seam?custId=ZEZ962BL"
}, {
"ZEZ963VL": "http://x.com/mobile/home.seam?custId=ZEZ963VL"
}]
}
我最初誤解了你的問題,請看我更新的答案! –