Ответы пользователя по тегу JavaScript
  • Как получить числа из нескольких div?

    @dcooder
    Во-первых querySelectorAll возвращает не массив, а NodeList. Во-вторых вы пытаетесь присвоить результат вызова forEach, а этот метод не возвращает ничего. Вот пример рабочего варианта:
    const prices = Array.from(document.querySelectorAll('.watch__price'))
    .map((item) => parseInt(item.textContent.match(/\d+/)))

    в prices по итогу будет массив [1000, 1500, 1000]
    Ответ написан
    Комментировать
  • Почему массив всегда пуст?

    @dcooder
    в вашем случае вероятно подойдет трюк с async - await. То есть ваша функция должна быть асинхронной, например:
    async getUsers() {
         const users = await query('users');
         const members = meeting['members'].map((user_id) => users.collection.findOne({id: user_id}));
         return [...meetings, members]
    }
    Ответ написан
  • Как в реактивных формах Angular предотвратить ввод определённых символов?

    @dcooder
    import {Directive, HostListener, Input} from '@angular/core';
    
    @Directive({
      selector: 'input[appInputDenySymbols]'
    })
    export class InputDenySymbolsDirective {
    
      @Input() appInputDenySymbols: string;
    
      @HostListener('keydown', ['$event']) onKeyDown(event) {
        if (this.appInputDenySymbols.indexOf(event.key) !== -1) {
          event.preventDefault();
        }
      }
    
    }


    Потом эту директиву юзаешь так:

    <input appInputDenySymbols='1234567890' >
    чтобы запретить ввод цифр. Можно сделать по такому же принципу на регуляроное выражение.
    Ответ написан
    Комментировать