为了账号安全,请及时绑定邮箱和手机立即绑定

JS 为各种相似的文件返回单一文件类型(例如 'mp4' || 'm4v' = 'MOV')

JS 为各种相似的文件返回单一文件类型(例如 'mp4' || 'm4v' = 'MOV')

aluckdog 2023-07-29 14:58:20
我有一个 populateTable 函数,并且尝试将从 JSON 文件读取的几种不同文件类型组合成一种显示类型。在本例中,将 mp4 和 m4v 转换为 MOV — 我没有收到任何错误,但表中的所有内容都未定义。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 回答

?
蓝山帝景

TA贡献1843条经验 获得超7个赞

您将整个数据对象传递到setGenericType函数中,但将参数与字符串进行比较,因此它们永远不会匹配。如果类型不匹配,该函数将返回undefined。


因此,要么将函数的参数视为传递给它的对象


function setGenericType(d) {

  if(d.type == 'mp4' || d.type == 'm4v')  {

    return 'MOV'

  }

}

或者只是将对象的类型传递给函数并保持函数不变


for (const d of data) {

  $("#contents").append(`<tr>

    <td>${d.title}</td>

    <td>${d.year}</td>

    <td>${setGenericType(d.type)}</td>

   </tr>`)   

}


查看完整回答
反对 回复 2023-07-29
  • 1 回答
  • 0 关注
  • 114 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信