You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从JavaScript数组的对象中获取特定键对应的值

解决用Array.map提取学生余额的问题

你的代码里存在两处需要修正的问题:

  • 类型判断错误:typeof(student) === Object 不符合语法逻辑,typeof 运算符返回的是字符串类型的结果,正确写法应为 typeof student === 'object';另外要注意,typeof null 也会返回 'object',如果数组中可能存在null元素,需要额外排除。
  • 无返回值的情况:当元素不符合判断条件时,当前函数没有返回值,会导致结果数组中出现undefined。

基础简化写法

如果能确定students数组内全是有效的学生对象(不存在非对象、null元素),可以直接简化为一行代码:

const balanceInfo = students.map(student => student.balance);
console.log(balanceInfo);

带边界判断的稳健写法

如果需要考虑数组中可能存在非对象、null,或者部分学生对象没有balance属性的情况,可以添加判断逻辑,避免出现异常值:

const balanceInfo = students.map(student => {
  // 排除null和非对象类型的元素
  if (student && typeof student === 'object') {
    // 若balance属性不存在,返回默认值0(可根据需求调整)
    return student.balance ?? 0;
  }
  // 不符合条件的元素返回统一默认值
  return 0;
});
console.log(balanceInfo);
  • 第一种写法适合数据结构稳定的场景,用箭头函数直接返回目标属性值,简洁高效。
  • 第二种写法更健壮,覆盖了多种异常情况,确保结果数组的完整性。

内容的提问来源于stack exchange,提问作者Abdulhakeem Adekunle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 04:07:10