首页 > 解决方案 > Object.entries 不返回预期结果

问题描述

我有一个看起来像这样的数组:

sim_data = [
  {
    "thumb_name": "Panel_BG_light",
    "thumb_file": "/media/media/3938493866/3938493866.jpg",
    "thumb_date": "2020-02-17T21:52:58.753408Z"
  },
  {
    "thumb_name": "Panel_BG_dark",
    "thumb_file": "/media/media/1247845432/1247845432.jpg",
    "thumb_date": "2020-02-22T11:13:28.937390Z"
  }
]

我使用此函数从数组中获取图像:

var panel_bg_light_;
var panel_bg_dark_;
var panel_background_light = sim_data[0];
var panel_background_dark = sim_data[1];

Object.entries(panel_background_light).forEach(([key, value]) => {
  panel_bg_light = value["thumb_file"];
  panel_bg_light_ = JSON.stringify(panel_bg_light);
  return panel_bg_light_;
});

Object.entries(panel_background_dark).forEach(([key, value]) => {
  panel_bg_dark = value["thumb_file"];
  panel_bg_dark_ = JSON.stringify(panel_bg_dark);
  return panel_bg_dark_;
});

我控制台记录了类型panel_background_light并且它是一个对象,那么为什么我不能Object.entries像这样访问呢?

谢谢

标签: javascript

解决方案


Object.entries返回对象键/值对的数组。所以输出:

Object.entries({
    "thumb_name": "Panel_BG_light",
    "thumb_file": "/media/media/3938493866/3938493866.jpg",
    "thumb_date": "2020-02-17T21:52:58.753408Z"
  }
) 

好像:

[
  ["thumb_name",  "Panel_BG_light"], 
  ["thumb_file", "/media/media/3938493866/3938493866.jpg"], 
  ["thumb_date", "2020-02-17T21:52:58.753408Z"]
]

如果您只想获取“thumb_file”的值,为什么不直接访问它呢?IE。

var panel_bg_light_ = sim_data[0]['thumb_file'];
var panel_bg_dark_ = sim_data[1]['thumb_file'];

推荐阅读