如何使用JavaScript访问inquirer生成的动态对象数组中的特定对象?
访问动态数组中指定Engineer对象的方法
因为数组是动态生成的,成员顺序、数量会随用户输入变化,不建议直接使用固定索引取值,推荐以下两种稳妥写法:
- 方法一:先筛选所有Engineer实例再取对应位置
// 筛选出所有属于Engineer类的成员 const engineerList = team.filter(item => item instanceof Engineer) // 数组下标从0开始计数,第二个Engineer对应下标1 const targetMark = engineerList[1] // 测试访问属性 console.log(targetMark.name) // 输出 Mark console.log(targetMark.github) // 输出 emman
- 方法二:按唯一标识精准匹配(适合查询特定人员,不受顺序、数量影响)
用id或者姓名作为匹配条件,使用find方法直接查找:
// 按唯一id查询,稳定性最高 const targetMark = team.find(item => item.id === '3') // 也可以按姓名查询 const targetMark = team.find(item => item.name === 'Mark')
如果你只是临时调试、确认当前数组结构不会变化,可以直接用固定索引取值,你给出的示例中Mark对应数组下标为2,直接写team[2]即可获取对应对象,但该写法在数组内容变化后会失效,不建议在正式代码中使用。
内容的提问来源于stack exchange,提问作者nicoletr
相关产品推荐
相关产品推荐

