Показать часть значения, возвращаемого Json с помощью Javascript

#javascript #arrays #json

Вопрос:

Уточните, что я делаю запрос к файлу, который находится локально, я делаю это с помощью fetch, а не если это правильно, я попробовал следующее (извините за мой английский):

 Array = [
{
 0: "46140:ADEMUZ"
 1: "46729:ADOR"
 2: "46940:AEROPUERTO DE MANISES (VALENCIA)"
 3: "46890:AGULLENT"
 4: "46176:AHILLAS"}
]
 

Я хотел бы показать только часть ценности:

 Array = [
{
 0: "46140"
 1: "46729"
 2: "46940"
 3: "46890"
 4: "46176"}
]
 

Я попытался сделать следующее:

 document.addEventListener("DOMContentLoaded", () => {

    mostrar()

});


function mostrar() {

    fetch('/46xcodpos.txt')
        .then(res => res.text())
        .then(content => {
            let lines = content.split(/n/);
            console.log(lines);
            recorrer(lines)
        });
}


function recorrer(lines) {
    //Iterar 
    const resultado = document.getElementById('resultado');


    lines.forEach(muestra => {

        resultado.innerHTML  = `
 
                    <div class="col-12 col-sm-12 col-md-3 col-lg-6 card m-2 p-2">
 
                    <div class="list-group">
                   
                    <a href="#" class="list-group-item list-group-item-action">${muestra}</a>
                  </div>
                    </div>
 
                `;
    }


    )
};

 

Если вы знаете другой метод, не стесняйтесь раскрывать его, у меня относительно мало javascript. Большое спасибо

Комментарии:

1. Что вы пробовали, покажите нам код.

2. Всем привет! Я уже добавил дополнительную информацию к вопросу. Теперь вы можете это видеть. Спасибо

Ответ №1:

Вы можете Array.prototype.map() переопределить значения объектов вашего первого значения массива и использовать только первые 5 символов String.prototype.slice() . Затем просто каким-то образом добавьте свой измененный текст в DOM. Я выбрал список здесь, потому что он довольно хорошо показывает, что, на мой взгляд, происходит.

 const list = document.getElementById("list");

const array = [{
  0: "46140:ADEMUZ",
  1: "46729:ADOR",
  2: "46940:AEROPUERTO DE MANISES (VALENCIA)",
  3: "46890:AGULLENT",
  4: "46176:AHILLAS"
}];

Object.values(array[0]).map((e) => {
  const li = document.createElement('li');
  li.appendChild(document.createTextNode(e.slice(0, 5)));
  list.appendChild(li);
}); 
 <ul id="list"></ul>