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

如何提取数组对象中的指定属性值并推入新数组?

解决方案:提取数组对象的name属性到新数组

嘿,别担心,刚入门编程遇到这种小问题太正常啦!你的思路是对的——遍历原数组把需要的属性存到新数组里,只是差了关键一步:你现在把整个对象推进新数组了,而不是对象里的name属性。

方法1:修正你的for循环

只需要把push的内容改成ingredients[i].name,就能精准提取每个对象的name值:

var ingredients = [ 
  { id: 1, name: "onion", mineralsUnit: "mg", water: 89.11 }, 
  { id: 2, name: "carrot", calcium: 23, iron: 0.21, otherUnit: "g", water: 89.11 }, 
  { id: 3, name: "peanut", iron: 0.21, otherUnit: "g", water: 89.11 } 
];

var myIngredients = [];
for (var i = 0; i < ingredients.length; i++) {
  // 这里指定提取name属性
  myIngredients.push(ingredients[i].name); 
}

console.log(myIngredients); // 输出: ["onion", "carrot", "peanut"]

方法2:用更简洁的Array.map()(推荐)

JavaScript里有个专门用来转换数组的方法map(),它会遍历原数组的每个元素,把你指定的结果返回成一个新数组,一行代码就能搞定:

var ingredients = [ 
  { id: 1, name: "onion", mineralsUnit: "mg", water: 89.11 }, 
  { id: 2, name: "carrot", calcium: 23, iron: 0.21, otherUnit: "g", water: 89.11 }, 
  { id: 3, name: "peanut", iron: 0.21, otherUnit: "g", water: 89.11 } 
];

// 用map遍历每个对象,返回它的name属性
const myIngredients = ingredients.map(item => item.name);

console.log(myIngredients); // 输出: ["onion", "carrot", "peanut"]

map()是处理这种“从数组对象提取属性”场景的最佳实践,代码更简洁易读,也不容易出错~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 13:02:44