Выполнение функции, чтобы увидеть, содержит ли файл JSON определенные строки - PullRequest
0 голосов
/ 07 февраля 2019

Мой локальный файл JSON содержит документы (заканчивающиеся на .docx, .pdf и т. Д.).У меня есть таблица, которая отображает эти документы, и я хочу иметь возможность отображать текст «.docx» (а что нет) в отдельный столбец, где каждая текстовая строка соответствует документу.Конечная цель состоит в том, чтобы заменить тексты соответствующими значками, т. Е. MS Word для .docx.

Пока у меня есть метод .includes('docx' || 'DOCX' || 'pptx'), который правильно показывает значения как true и false в столбце таблицы.:

| true || Example.docx |

| false || Other.popx |

Как включить цикл (или что-то ещееще) в коде я должен отображать тексты 'docx', 'pptx' и т. д. вместо true и false?

Загрузка данных заголовка документа:

loadTableData() {
    $.noConflict();
    let tableRes = KMdocs.d.results.filter(function(val) { 
      return (val.FileLeafRef.trim().length > 0);
    }).map(function(obj) {
      return {
        "Path": obj.EncodedAbsUrl,
        "Titles": obj.File.Name,
        "Categories": obj.ResourceType.results.map(function(val) {
          return val.Label;
        }).join(";"),
        "Blank": "",
        "docImg": obj.File.Name.includes('docx' || 'DOCX' || 'pptx')
        // ----- this is where I'd like to include the code
      }
    })

Таблица рендерингаданные:

$('#km-table-id').DataTable( {
      columns: [
        // { data: "Blank" },
        { data: "Categories" }, // hidden
        { data: "docImg" },
        { data: "Titles" } // must be in last position to respond w/ checkboxes
      ],
      columnDefs: [
...etc

1 Ответ

0 голосов
/ 07 февраля 2019

Это отфильтрует для docx и pptx, а затем вернет значение, если оно предоставлено

function documentType(fileName) {
  return [fileName].filter(function(filter) {
    return filter.toLowerCase().includes('docx') || filter.toLowerCase().includes('pptx')
  }).map(function(filename) {
    //Get File Extension
    return filename.split('.').pop();
  }).pop();
}

Использование будет:

"docImg": documentType(obj.File.Name)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...