簡體   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