繁体   English   中英

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

[英]JS to return a single file type for a variety of similar files (e.g. 'mp4' || 'm4v' = 'MOV')

我有一个 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"
}

您将整个数据对象传递给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>`)   
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM