检索存储在JSON中的数组中存储的字符串值,仅返回字符串的第一个字符

时间:2018-08-15 22:13:39

标签: javascript arrays json node.js

我在这里有此代码:

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

nodeSchedule指的是一个称为“ node-schedule”的npm库;在这种情况下,所有操作都是每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运行的。

2 个答案:

答案 0 :(得分:1)

您已经关闭。试试这个:

for ($i = 0, $n = count($arr) - 1; $i < $n; $i++) {
    $result[] = array_slice($arr, $i, 2);
}

console.log(arr[val][0]); 是一个JSON对象,而arr实际上是键,而不是值。 val将为您提供所需的数组,然后您可以使用arr[val]获得第一项。

答案 1 :(得分:0)

您可以遍历对象的值Look:

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

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