Извлечение строкового значения, хранящегося в массиве, который хранится в JSON, возвращает только первый символ строки

1

У меня есть этот код здесь:

const timer = nodeSchedule.scheduleJob("*/5 * * * * *",function() {
    let arr = require("./autometar.json");
    for (let val in arr) {
        console.log(val);
        console.log(val[0]);
    }
});

nodeSchedule относится к библиотеке npm, называемой "node-schedule"; все, что он делает в этом контексте, запускает функцию выше каждые 5 секунд.

autometar.json - это файл, который выглядит так:

{
    "420431645041229834": [
        "422658075720417290",
        "KSEA",
        "KLAX"
    ],
    "test": [
        "this is a test"
    ]
}

В настоящее время я пытаюсь получить первое значение, хранящееся в массивах, хранящихся в файле autometar.json. Например, я хочу получить строку "this is a test" из массива, помеченного как "test" в файле.

Однако при запуске функции выше с данным файлом консоль выводит следующее:

420431645041229834
4
test
t

Кажется, он возвращает только первый символ сохраненных строк, но мне нужна целая строка.

Просто для вашей информации это выполняется через Node.js.

Теги:
arrays

2 ответа

1
Лучший ответ

Вы близки. Попробуй это:

console.log(arr[val][0]);

arr - объект JSON, а val - фактически ключ, а не значение. arr[val] даст вам массив, который вы хотите, а затем вы можете получить первый элемент, используя arr[val][0].

0

Вы можете перебирать значения объекта, Look:

const sample = {
    "420431645041229834": [
        "422658075720417290",
        "KSEA",
        "KLAX"
    ],
    "test": [
        "this is a test"
    ]
}

Object.values(sample).forEach(value => {
   const [firstElementOfArray] = value
   console.log(firstElementOfArray)
})

Ещё вопросы

Сообщество Overcoder
Наверх
Меню