如何从JavaScript数组提取productName和price字段?map仅能提取单个值
提取JavaScript对象数组中的多个字段(productName和price)
你可以通过在map方法的回调函数中返回一个包含目标字段的新对象,来同时提取多个字段,而非仅返回单个属性值。
原代码问题点
你之前的map回调仅返回了item.productName,因此结果是单一字段的数组。修改后可返回包含productName和price的对象:
修改后的代码
const products = [ {productId: 1,productName: 'Tablet',price: 120,Image: 'source',isPublished: true,isAvailbe: false,}, {productId: 2,productName: 'Microphone',price: 100,Image: 'source',isPublished: true,isAvailbe: true,}, {productId: 3,productName: 'Smart TV',price: 120,Image: 'source',isPublished: false,isAvailbe: true,}, {productId: 4,productName: 'Itel',price: 70,Image: 'source',isPublished: true,isAvailbe: false,} ]; // 同时提取productName和price字段 const result = products.map((item) => ({ productName: item.productName, price: item.price })); console.log(result);
输出结果
运行后会得到仅包含目标字段的对象数组:
[ { productName: 'Tablet', price: 120 }, { productName: 'Microphone', price: 100 }, { productName: 'Smart TV', price: 120 }, { productName: 'Itel', price: 70 } ]
注意:箭头函数返回对象时,需要用括号
()包裹对象字面量,否则JavaScript会把大括号识别为函数体的分隔符,引发语法错误。
内容的提问来源于stack exchange,提问作者HASAN
相关产品推荐
相关产品推荐

