数据表使用javascript函数返回格式化的json数据

时间:2019-05-23 16:05:14

标签: javascript json datatables

使用带有.json源文件的数据表,我试图在数据显示在表中之前对其进行操作。在此示例中,我试图简单地删除空格并用破折号代替。

我知道有两种方法可以进行一些数据操作。一个是columnDefs,另一个是使用dataSrc并返回数据。当我尝试使用.split或.replace或什至.toLowerCase()时,两者都失败了

例如,我像这样添加了columnDefs:

 columnDefs: [
            {
                "render": function ( data, type, row ) {
                  console.log(data);
                  var cn = data.split(" ").join("-").toLowerCase();
                  return cn;
                },
                "targets": 1
            }
        ],

控制台显示:

Uncaught TypeError: data.split is not a function

我们如何使用replace或类似方法操纵数据?

我的数据如下:

{
    "Licensee": "Whistles for Woods",
    "Contact Name": "Bob",
    "Street": "2230 Trail",
    "Suite / PO Box": 0,
    "City": "Alturas",
    "ST": "CA",
    "Zip Code": 997733,
    "Telephone": 0,
    "Email Address": "bobc@email.com",
    "Website Address": "www.domain.com",
    "Fax": "No fax",
    "Products": "whistle with custom logo",
    "Categories": "Miscellaneous"
  },

1 个答案:

答案 0 :(得分:1)

如评论中所述

我们只想确保我们确实在操纵字符串而不是其他任何数据类型。因此,在这种情况下,我们将代码更改为如下所示:

 columnDefs: [
        {
            "render": function ( data, type, row ) {
              if(typeof data === 'string'){ 
                  //only if string manipulate
                  data = data.split(" ").join("-").toLowerCase();
              }
              // OR data = data.toString(); whichever is more convenient!
              return data;
            },
            "targets": 1
        }
    ],