如何遍历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
相关产品推荐
相关产品推荐

