首页 > 解决方案 > 访问具有相同名称的 javascript 对象中的数据

问题描述

我有一个类似于此的 javascript 对象:

var data = {
  Message: {
       sent: 'complete',
       received: true,
       time: '4:06 PM' 
   },
  Message: {
       sent: 'complete',
       received: false,
       time: '9:01 AM' 
   },
  Message {
     ...... // and so on
   }    
}

我想访问每个sent,receivedtime对象并将它们推送到一个数组。例如,完成后它可能看起来像这样:

['complete', 'complete', 'Not complete'] // sent
[true, true, false]  // received 
['4:06 PM','9:01 AM', '2:00 PM' ] // time

我知道这是非常基本的,但我不知道如何获得每一个sentreceivedtime,只有最后一个(对 js 来说相对较新)。

我怎样才能得到每一个sent和?我很确定我可以找出数组部分,但是如果您将其包含在解决方案中,我将非常感激!receivedtime

标签: javascriptarraysobject

解决方案


同名对象中不能有两个键。而是尝试一个数组:

var messages = [
  {
    sent: 'complete',
    received: true,
    time: '4:06 PM' 
  },
  {
    sent: 'complete',
    received: false,
    time: '9:01 AM' 
  },
  {
    sent: 'complete',
    received: false,
    time: '1:01 PM' 
  }    
];

messages.forEach(
 (message) => {
   console.log(message.sent, message.time);
 }
);


推荐阅读