Фильтрация данных JSON и добавление в div - PullRequest
0 голосов
/ 05 апреля 2019

У меня есть локальный файл JSON, и я пытаюсь отфильтровать данные из него и добавить эти данные в div в моем html-файле. Мне не удается увидеть данные в консоли, поэтому я не уверен, правильно ли я делаю console.log (см. Ниже) или данные «недоступны» в зависимости от области видимости.

JS файл:

import $ from 'jquery';
import jsonData from "./test.json";

function _loadDispForm() {
        let dispData = jsonData.d.results.filter(x => {
            return {
                "Title": x.Title,
                "GoalRange": x.GoalRange,
                "Office": x.Office,
                "Role": x.Role,
                "IsFilled": x.IsFilled,
                "Employee": x.Employee,
                "IsActive": x.IsActive,
                "Notes": x.Notes
            }

        })      
        $("#display-form-job-title").append("Title");

        console.log(x.Title);
        console.log(JSON.stringify(dispData));
    }

Фрагмент JSON:

{
  "d": {
    "results": [
      {
        "FileSystemObjectType": 0,
        "Id": 1,
        "Title": "TitleHere",
        "GoalRange": "3",
        "Office": "Somewhere",
        "Role": "FPSL",
        "IsFilled": false,
        "Employee": null,
        "IsActive": true,
        "Notes": null,
        "ID": 1,
        "Attachments": false
...etc

Фрагмент HTML:

<div class="col-6">

  <h3 id="display-form-job-title"></h3>

По большей части HTML-теги для других ключевых значений аналогичны этому.

1 Ответ

0 голосов
/ 05 апреля 2019

Как уже говорилось в других ответах, вам, скорее всего, следует использовать .map ("преобразовать массив N длины в массив N новой длины"), а не .filter ("массив длины <= N массива N длины").массив, включающий только элементы, удовлетворяющие условию "). </p>

a = [1,2,3]
console.log(a.map(a => a + 1)) // [2,3,4]
console.log(a.filter(a => a == 2)) // [2]
console.log(a.filter(a => a > 1)) // [2,3]
...