我在这里有此代码:
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运行的。
答案 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)
})