aluckdog
2023-07-29 14:58:20
我有一個(gè) populateTable 函數(shù),并且嘗試將從 JSON 文件讀取的幾種不同文件類(lèi)型組合成一種顯示類(lèi)型。在本例中,將 mp4 和 m4v 轉(zhuǎn)換為 MOV — 我沒(méi)有收到任何錯(cuò)誤,但表中的所有內(nèi)容都未定義。function populateTable() { function setGenericType(type) { if(type == 'mp4' || type == 'm4v') { return 'MOV' } } for (const d of data) { $("#contents").append(`<tr> <td>${d.title}</td> <td>${d.year}</td> <td>${setGenericType(d)}</td> </tr>`) }}有任何想法嗎?data.js 中的 JSON 示例:{ "title":"Arc Transition", "year":2016, "type":"mp4"}
1 回答

藍(lán)山帝景
TA貢獻(xiàn)1843條經(jīng)驗(yàn) 獲得超7個(gè)贊
您將整個(gè)數(shù)據(jù)對(duì)象傳遞到setGenericType函數(shù)中,但將參數(shù)與字符串進(jìn)行比較,因此它們永遠(yuǎn)不會(huì)匹配。如果類(lèi)型不匹配,該函數(shù)將返回undefined。
因此,要么將函數(shù)的參數(shù)視為傳遞給它的對(duì)象
function setGenericType(d) {
if(d.type == 'mp4' || d.type == 'm4v') {
return 'MOV'
}
}
或者只是將對(duì)象的類(lèi)型傳遞給函數(shù)并保持函數(shù)不變
for (const d of data) {
$("#contents").append(`<tr>
<td>${d.title}</td>
<td>${d.year}</td>
<td>${setGenericType(d.type)}</td>
</tr>`)
}
添加回答
舉報(bào)
0/150
提交
取消