JavaScript 对象属性到数组

标签 javascript arrays javascript-objects

我有以下对象:

const movies = {
  1: {
    id: 1,
    name: 'Planet Earth',
  },
  2: {
    id: 2,
    name: 'Selma',
  },
  3: {
    id: 3,
    name: 'Million Dollar Baby',
  },
  4: {
    id: 4,
    name: 'Forrest Gump',
  },
  5: {
    id: 5,
    name: 'Get Out',
  },
};

然后我想要一个只有属性 id 的数组。为此,我尝试了类似的方法:

const moviesArray = Object.values(movies);
const idArray = moviesArray.map(movie => Object.values(movie)[0]);
console.log(idArray);

它正确打印 idArray 但我的问题是我是否缺少解决此问题的方法。

最佳答案

您可以直接使用 id 属性:

const
    movies = { 1: { id: 1, name: 'Planet Earth' }, 2: { id: 2, name: 'Selma' }, 3: { id: 3, name: 'Million Dollar Baby' }, 4: { id: 4, name: 'Forrest Gump' }, 5: { id: 5, name: 'Get Out' } },
    moviesArray = Object.values(movies),
    idArray = moviesArray.map(movie => movie.id);

console.log(idArray);

关于JavaScript 对象属性到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54128643/

相关文章:

javascript - 如何使用JS遍历文件夹中不同扩展名的图像

c - 如何将一维数组插入到函数中

javascript - 获取属性的javascript对象属性

javascript - 如何使用新函数扩展 jQuery 类型?

javascript - Sencha Touch : Can't get map object from Ext. map 提供给谷歌方向服务

javascript - 从回调中创建 XMLHttpRequest 如何影响缓存?

javascript - Angular+Jquery - 编程表单提交导致重定向

java - 如何使用 Java 代码将键值对字符串数组从 strings.xml 导入 TextView

c++ - 如何创建变量数组 Arduino

node.js - 对象内存泄漏(当 nodejs 配置为最大 512M 时,Heroku 内存使用量达到 1.5 GB)