Size: a a a

2020 September 24

A

Alexandr_K in fronteam.js
уже сделал
источник

A

Alexandr_K in fronteam.js
Андрюша
Последний после слеша?
let first= '/main1/111/2222/sdf5выпавд43sd'.split('/').pop();//?
источник
2020 October 01

AG

Artur GHazaryan in fronteam.js
Привет всем , извините за делетантский вопрос. У меня есть класс Person  с  age = 20. Мне нужно чтобы каждую секунду age увеличивался на 1. Как правильнее реализовать? Чтобы был метод aging(){ this.age++} и вызывать в конструкторе эту функцию с интервалом в секунду. Или в конструкторе вызвать однажды this.aging(), а в методе в свою очередь задать интервал?
источник

UT

User True in fronteam.js
Artur GHazaryan
Привет всем , извините за делетантский вопрос. У меня есть класс Person  с  age = 20. Мне нужно чтобы каждую секунду age увеличивался на 1. Как правильнее реализовать? Чтобы был метод aging(){ this.age++} и вызывать в конструкторе эту функцию с интервалом в секунду. Или в конструкторе вызвать однажды this.aging(), а в методе в свою очередь задать интервал?
Лучше в конструкторе вызывать с интервалом
источник

А

Антипов in fronteam.js
User True
Лучше в конструкторе вызывать с интервалом
Можно создать приватное свойство которое будет хранить дату обновления this.age, и в геттере свойства this.age сравнить текущую дату с датой последнего обновления, и апдейтнуть this.age и дату на актуальную

Так не нужно будет никаких интервалов, и мы апдейтим age только при получении
источник

А

Антипов in fronteam.js
Правда не везде такой вариант подходит
источник

AG

Artur GHazaryan in fronteam.js
Звучит круто) но у меня обучающий мини тест и нужно каждую секунду отфильтровывать всех кто уже старше 60)
источник

AG

Artur GHazaryan in fronteam.js
Спасибо вам
источник

А

Антипов in fronteam.js
Artur GHazaryan
Звучит круто) но у меня обучающий мини тест и нужно каждую секунду отфильтровывать всех кто уже старше 60)
Ну для обучения это тоже хороший вариант, пощупать как это работает, научится с дескрипторами работать
источник

AG

Artur GHazaryan in fronteam.js
Согласен)
источник

AG

Artur GHazaryan in fronteam.js
Подскажите пожалуйста еще какая реализация лучше
function addRandomPerson(arr){
  arr.push(new Person({
       name: faker.name.findName(),
       age: Math.floor(Math.random() * 50) + 1
   }));
}
let persons= [];
for(let i = 0; i < 4; i++){
   addRandomPerson(persons);
}
или
function addRandomPerson(arr){
  return arr.push(new Person({
       name: faker.name.findName(),
       age: Math.floor(Math.random() * 50) + 1
   }));
}
let persons = [];
for(let i = 0; i < 4; i++){
  persons = addRandomPerson(persons);
}
Output один и тот же
источник

ND

Niska De in fronteam.js
Лучше делать имутабельные данные. Чтобы функция была чистой. Т.е. второй вариант доработать. Копировать массив, менять новый массив и возвращать этот массив.
источник

AG

Artur GHazaryan in fronteam.js
Я потом ещё интервал должен запустить, не создавать же каждый раз новый масив
источник

ND

Niska De in fronteam.js
Когда функция мутирует объект, который снаружи - это плохо
источник

AG

Artur GHazaryan in fronteam.js
Согласен, но по заданию мне нужно сделать 4 экземпляра а потом ещё и запустить ежесекундный интервал, тогда как поступить?
источник

ND

Niska De in fronteam.js
Для начала создай функцию createRandomPerson. Которая будет возвращать одного персона случайного
источник

AG

Artur GHazaryan in fronteam.js
Это сделано)
источник

ND

Niska De in fronteam.js
А то получается, что функция называется adRandomPerson а возвращает целый список
источник

AG

Artur GHazaryan in fronteam.js
Artur GHazaryan
Это сделано)
Перепутал, нет)
источник

ND

Niska De in fronteam.js
ну можно в цикле писать persons[i] = createRandomPerson, ну или как-то подругому. Например создать функцию типа createPersonList и передавать туда количество. А то цифра 4 в цикле как-то не по феншую. Линтер бы ругнулс на это
источник