使用.toUpperCase和.slice大写首字母不起作用

时间:2019-02-20 22:50:08

标签: javascript jquery datatables

我有一个通过DataTable呈现的JSON数据,并且在其中一列中,文本显示为大写,并且我希望它像这样,仅首字母大写。

根据SO上的其他帖子,建议使用.toUppercase.slice。根据我的经验,我觉得我的代码应该可以正常工作,但是由于某种原因,它不能正常工作。由于我正在使用DataTables,因此我不得不经过几个障碍才能获得结果,所以我想知道DT是否也是问题的根源。

JS代码段:

$(document).ready(function() {
        $('#matters-table').DataTable({
            columns: [
                { data: "0" },
                { data: "1" },
                { data: "Status" }, // is in all caps when rendered
                { data: "3" }
            ],
            columnDefs: [
                {"targets":2,"render": function(data) {
                    return data[0].toUpperCase() + data.slice(1);
                }}
            ],
            data: mattsText,
            ... // --------------- irrelevant info.

对此有何想法?

1 个答案:

答案 0 :(得分:1)

使用以下capitalize函数作为渲染函数(请注意添加的split):

capitalize = str => str.split('')[0].toUpperCase() + str.slice(1);

console.log(capitalize('hello world'));