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

如何遍历JavaScript数组内的多个对象,收集指定的id属性值?

错误原因

  • 你使用for...in遍历数组datas时,遍历得到的priceId是数组的索引值而非数组元素本身,因此priceId.price始终为undefined,后续的map操作无法正常执行。

正确实现

简化写法(推荐)

直接用两次map遍历即可,不需要额外存储中间值:

ids() {
  return this.data.map(item => item.price.map(priceItem => priceItem.id))
}

基于原有代码的修正版

如果要保留你原来的代码结构,修改遍历逻辑即可:

ids() {
  const datas = this.data;
  let idPrices = null;
  let prices = [];
  
  // 改用for...of遍历直接拿到数组元素
  for (let item of datas) {
    prices.push(item.price);
  }
  
  idPrices = prices.map((prices) => prices.map((price) => price.id));
  
  return idPrices;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 07:21:03