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

如何使用JS从对象数组中提取多个指定属性值存入同一数组?

你现有代码的错误原因是 Array.map() 仅接收第一个参数作为遍历回调函数,传入的第二个参数会被识别为回调执行时的this绑定值,不会执行第二个提取Year的逻辑,因此只能得到仅包含Title的数组。

如果你需要将所有对象的Title、Year属性值按顺序平铺存入一维数组,也就是你预期的["AAAA", "BBB"]结构,推荐两种实现方式:

  • 方案1:map + flat组合写法
const test = [{
  Title: 'AAAA',
  Year: 'BBB',
  Runtime:'100min',
  Director:'CCC'
}]

const movies1 = test.map(item => [item.Title, item.Year]).flat()
console.log(movies1) // 输出:['AAAA', 'BBB']
  • 方案2:flatMap一步实现(写法更简洁)
const movies1 = test.flatMap(item => [item.Title, item.Year])
console.log(movies1) // 输出:['AAAA', 'BBB']

如果原数组包含多个对象,上述写法会按照「第一个对象Title、第一个对象Year、第二个对象Title、第二个对象Year……」的顺序拼接为一维数组,符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 15:30:00