javascript - array.push() 构建数组,但数组索引未定义
问题描述
所以我正在使用一个对象列表来在 JavaScript 中构建一个值数组,但由于某种原因,它正在构建一个带有值的键列表。看来我做得对。
原始数据:
"features" : [
{
"attributes" : {
"vehicle_id" : 2077,
"cleaning_time" : 1588198260000
},
"geometry" :
{
"x" : 0,
"y" : 0
}
},
{
"attributes" : {
"vehicle_id" : 2071,
"cleaning_time" : 1588258620000
},
"geometry" :
{
"x" : 0,
"y" : 0
}
},
构建数组:
let list = [];
for(let item in features){
let date = new Date(features[item].attributes.cleaning_time)
if((new Date() - date) < 7200000){
console.log(features[item].attributes.vehicle_id);
let veh = features[item].attributes.vehicle_id
list.push(veh);
}
}
最终数组:
[]
0: 6618
1: 2204
2: 2204
3: 6618
4: 2204
5: 2204
length: 6
<prototype>: Array []
app.js:176:11
编辑:此数据正在加入到另一个数据源,下面是用于基于车辆 ID 加入的函数。
将列表加入另一个数据源:
for(let i in data){
let veh = data[i].vehicle.vehicle.id;
data[i].vehicle.isClean = list.includes(veh);
}
此脚本旨在过滤保留时间少于 2 小时的数据。此脚本每 15 秒运行一次,并且每次都重新评估数据。
解决方案
据我所知,您的代码工作正常。根据评论,我调整了代码。
let list = [];
var features = [
{
"attributes" : {
"vehicle_id" : 2077,
"cleaning_time" : new Date() - 100
},
"geometry" :
{
"x" : 0,
"y" : 0
}
},
{
"attributes" : {
"vehicle_id" : 2071,
"cleaning_time" : new Date() - 100
},
"geometry" :
{
"x" : 0,
"y" : 0
}
}
]
for(let item in features){
console.log(item)
let date = new Date(features[item].attributes.cleaning_time)
console.log(`(new Date() - date) < 7200000 is ${(new Date() - date) < 7200000}`)
if((new Date() - date) < 7200000){
console.log(features[item].attributes.vehicle_id);
let veh = features[item].attributes.vehicle_id
list.push(veh)
}
}
console.log(`list[0] == undefined is ${list[0] == undefined}`)
推荐阅读
- ethereum - Uncaught Error: Invalid Address web3.currentProvider MetaMask
- ruby-on-rails - 如何将 ERB 加载到 iframe 中?
- android - YouTubeService 泄露了 IntentReceiver
- keras - Keras 特征提取 - 预期 input_1 有 4 个维度,但得到了形状为 (1, 46) 的数组
- jar - 如何在 Java 规则中设置 Bazel --warn_duplicate_resources 标志?
- java - JAX-WS call does not work when calling Java from Javascript using JXBrowser
- javascript - 使用“map”函数返回多个数组
- java - 如何修复 Spring 中的 JSON 解码错误?
- big-o - 了解何时使用 theta 来计算时间复杂度
- javascript - 使用 URL 反应路由器打开页面