为何数组元素取值显示为undefined?附代码及截图
问题描述

我无法弄清楚为何无法从数组中获取信息:
const usedPlatformLog: Date[] = [] users.forEach(el => { usedPlatformLog.push(el.lastUsed) }) console.log(usedPlatformLog) // 显示包含索引0和1的数组(已附截图) console.log(usedPlatformLog[0]) // 日志返回undefined
排查方向
- 在
forEach循环里加console.log(el.lastUsed),确认每次push的具体值,看是不是本身就是undefined。 - 浏览器控制台存在异步更新特性:你看到的数组内容可能是后续才填充的,打印
usedPlatformLog[0]时数组实际为空。换成console.log(JSON.stringify(usedPlatformLog)),能看到代码执行时数组的真实状态。 - 检查
users的获取逻辑,如果是异步请求返回的数据,要确保这段代码在数据加载完成后执行,比如放在then回调或者await之后。 - 类型定义不代表实际值,确认
users里的每个元素确实有lastUsed属性,且值不为undefined。
内容的提问来源于stack exchange,提问作者MaxxD17
相关产品推荐
相关产品推荐

