getFullYear () объекта - PullRequest
       4

getFullYear () объекта

0 голосов
/ 05 декабря 2018

Не уверен насчет заголовка, но у меня проблема с литералом объекта.У меня есть объект с именем «персона» с именем, фамилией, национальностью и родом.Когда я инициализирую это, я несу некоторые значения в объект, и значение 'born' приходит в форме 'YYYY-MM-DD' Но я должен представить полный год, 'YYYY'.

let person = {
    firstName: '',
    lastName: '',
    nationality: '',
    born: '',

    print3: function() {
    return 'My name is ' + this.firstName + ' ' + this.lastName + ' from ' + this.nationality + '.' + ' I was born ' + this.born + '.';
    },

    init: function(firstName, lastName, nationality, born) {
        this.firstName = firstName;
        this.lastName = lastName;
        this.nationality = nationality;
        this.born = born;
    }
};

init:

person2.init('Henri', 'Becquerel', 'France', '1852-12-15')

Ожидаемый результат должен быть:

"My name is Henri Becquerel from France. I was born 1852."

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

С уважением

Ответы [ 2 ]

0 голосов
/ 05 декабря 2018

Просто создайте экземпляр даты и вызовите для него функцию getFullYear ().

, которая будет тогда: new Date ('1852-12-15'). GetFullYear ()

0 голосов
/ 05 декабря 2018

new Date() проанализирует строку в формате ISO 8601, как у вас.Таким образом, ваша init() функция может сохранить объект даты вместо строки.Тогда вы можете позвонить getFullYear() на this.born:

let person = {
  firstName: '',
  lastName: '',
  nationality: '',
  born: '',

  print3: function() {
    return 'My name is ' + this.firstName + ' ' + this.lastName + ' from ' + this.nationality + '.' + ' I was born ' + this.born.getFullYear() + '.';
  },

  init: function(firstName, lastName, nationality, born) {
    this.firstName = firstName;
    this.lastName = lastName;
    this.nationality = nationality;
    this.born = new Date(born);  // create a Date object
  }
};

person.init('Henri', 'Becquerel', 'France', '1852-12-15')
console.log(person.print3())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...