Скрипт приложения не возвращает объект в правильном порядке - PullRequest
0 голосов
/ 15 апреля 2020

Добрый день всем,

Я довольно новичок в кодировании. Я увлекся кодированием из-за любви к решению проблем и улучшению управления бизнесом. Если я могу показаться грубым, пожалуйста, прости меня. Я ищу учиться у лучших.

В моем редакторе скриптов у меня есть следующий код.

var parDetails = [];

//To add participant data into participant log
function addparDetails(code, name, dob, gender, health){ 
    parDetails.push({code, name, dob, gender, health});
    return parDetails;
    }

//Participant details [updated]
  for (let i = 0; i <= 1; i++){
    addparDetails("123151", "John Doe", "18 June 2000","M", "Asthma");
}
Logger.log(parDetails);

It should return in the order of 
{code = 123151
 name = John Doe
 date = 18 June 2000
 Gender = M
 Health = Asthma}

However, it keeps returning in this order 
{dob = 18 June 2000
 name = John Doe
 gender = M
 code = 123151
 Health = asthma}

sometimes it can also be in a different order|

Может кто-нибудь объяснить, почему это так? Если вам нужны какие-либо дополнительные разъяснения, пожалуйста, дайте мне знать!

Ответы [ 2 ]

0 голосов
/ 15 апреля 2020

parDetails.push({code, name, dob, gender, health});

В этой строке вы помещаете javascript Object в массив.

Объекты являются ключевыми значениями пары и порядок, в котором будут отображаться ключи, не определены. Когда вы делаете {a}, оно совпадает с {a: a}.

Например,

var a = 5
var b = {a} // Implicitly it is doing b = {a: 5}
console.log(b.a) // To access the value

Нельзя полагаться на порядок клавиш.

0 голосов
/ 15 апреля 2020

Это способ objects работать в javascript. Порядок их пар ключ-значение не гарантируется. Вам следует попробовать Map: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map.

Объект Map содержит пары ключ-значение и запоминает исходный порядок вставки ключей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...