如何遍历这种javascript数组?

时间:2019-04-02 14:47:16

标签: javascript arrays datatables

我正在将数据返回到我的DataTables表中,但是无法遍历以下数组:

["BREAKFAST (Vegetables)", "LUNCH-DINNER (Vegetables)"]

我尝试了以下代码,但只打印了第一项

{data: null,
    render: function(data, type, row, meta) {
        var categoriesNamesList = '';
        //loop through all the row details to build output string
        for (var item in row.categories_names) {
            var r = row.categories_names[item];
            //Check if r is NULL or Empty then skip
            if(r){
                categoriesNamesList = '<ul><li>'+ r + '</li></ul>';
            }
        }
        return categoriesNamesList;

    }
}

2 个答案:

答案 0 :(得分:0)

在循环内移动返回的位置。根据您拥有的代码,我几乎可以打赌您只会得到最后一个项目。

render: function(data, type, row, meta) {
        var categoriesNamesList = '';
        //loop through all the row details to build output string
        for (var item in row.categories_names) {
            var r = row.categories_names[item];
            //Check if r is NULL or Empty then skip
            if(r){
                categoriesNamesList = '<ul><li>'+ r + '</li></ul>';
                return categoriesNamesList;
            }
        }

}

答案 1 :(得分:0)

您实际上可以通过以下方式在阵列上使用.map(...)(假设row.categories_names):

render: function(data, type, row, meta) {
    return row.categories_names.map(function(item) {
        return '<ul><li>'+item+'</li></ul>';
    });
}

这可能更简单。让我知道它是否有效。