Size: a a a

JavaScript Noobs — сообщество новичков

2020 June 01

D

Danil in JavaScript Noobs — сообщество новичков
Sasha
Всем привет. Объясните, пожалуйста, как работает метод IndexOf(). Не понимаю, откуда эти значения берутся

var array = [2, 5, 9];
array.indexOf(2); // 0
array.indexOf(7); // -1
array.indexOf(9, 2); // 2
array.indexOf(2, -1); // -1
array.indexOf(2, -3); // 0
Привет, смотри. Метод indexOf проводит поиск по массиву и в случае если совпадение найдено - возвращает тебе индекс элемента в массиве. Например, в первом примере ищется 2, поэтому он возвращает тебе её позицию в массиве - 0. Если значение не найдено, то возвращает всегда -1
источник

ГЩ

Глеб Щукин in JavaScript Noobs — сообщество новичков
Samson
ну типа вызывают функцию - запоминаешь значение которое должно возвращаться в след секунду в переменной , запускаешь таймер на секунду - если во время этой секунды вызывается функция еще раз возвращаешь просто значение переменной и обрываешь дальшее выполнение функции , по прошествию секунды убираешь значение переменной и по новой. можно если типа переменная == null запускаешь таймер иначе возвращаешь перменную, при выполнении таймера переменная = null
https://repl.it/@polosatyj/BustlingElatedMuse#index.js
вот, заработало. покажи плиз, как ты это переменными хотел решить?
источник

НМ

Никита Михалков... in JavaScript Noobs — сообщество новичков
Как подключать стили автоматически, в рантайме, с использованием mini-css-extract-plugin в пайплайне css?

Я указываю стили как модули, что бы явно описать зависимость js файла от стилей.

Я хочу, что бы при подключении стилей (require('file.css')), они автоматически внедрялись на страницу.

Загрузчик style-loader делает это. Но я хочу использовать плагин mini-css-extract-plugin, который не работает в связке с style-loader и в документации которого сказано:

This plugin should be used only on production builds without style-loader in the loaders chain, especially if you want to have HMR in development.

Пример проблемы: если у меня есть несколько js файлов "точек входа" и в рантайме мне понадобится подключить один из конечных бандлов, например optional-module.js, придётся вручную подключать и его зависимости, как например optional-module.css. Я хочу, что бы модуль сам занимался этим.

p.s. html-webpack-plugin, разумеется, не решает мою проблему, потому что предназначен для генерации статических страниц, а мой вопрос о подключении стилей в рантайме.
источник

AG

Andrey Govorukhin in JavaScript Noobs — сообщество новичков
Разметка генерируется бекендом, когда происходит событие уходит запрос на сервер , в ответе приходят какие то данные
источник

С

Сидредин in JavaScript Noobs — сообщество новичков
Andrey Govorukhin
Так это вроде запрос на получение файла
в первый раз такие запросы
источник

С

Сидредин in JavaScript Noobs — сообщество новичков
Andrey Govorukhin
Разметка генерируется бекендом, когда происходит событие уходит запрос на сервер , в ответе приходят какие то данные
можем созвониться через дискорд?
источник

AG

Andrey Govorukhin in JavaScript Noobs — сообщество новичков
Нет у меня дискорда )
источник

С

Сидредин in JavaScript Noobs — сообщество новичков
Andrey Govorukhin
Нет у меня дискорда )
Какой мессенджер есть?)
источник

С

Сидредин in JavaScript Noobs — сообщество новичков
Или как называются подобные программы для созвона)
источник

L

Lili in JavaScript Noobs — сообщество новичков
Sasha
Ну вот в предпоследнем и последнем примере есть двойка. Почему тогда -1 и 0 результат, а не одинаковый?
fromIndex

Целое число, определяющее индекс массива, с которого начинается поиск элемента массива. Необязательное значение, если не указано, то поиск осуществляется с 0 индекса.
Допускается использование отрицательных значений, в этом случае индекс с которого будет произведено сравнение элементов будет расчитан по следующей формуле: length (длина массива) + fromIndex.length (длина массива) + fromIndex.
источник

S

Samson in JavaScript Noobs — сообщество новичков
Глеб Щукин
https://repl.it/@polosatyj/BustlingElatedMuse#index.js
вот, заработало. покажи плиз, как ты это переменными хотел решить?
class Test {
 constructor() {
   this.data = null;
 }
 log(data, timer) {
   if(!this.data){
     this.data = data;
     setTimeout(function(){ test.data = null; },  timer);
     return console.log("setting data and timer " + this.data)
   }else{
     return  console.log("returning set: " + this.data);
   }
 }
}

const test = new Test();
test.log('1', 1000);
test.log('2', 1000);
test.log('3', 1000);
test.log('4', 1000);
test.log('5', 1000);
источник

ГЩ

Глеб Щукин in JavaScript Noobs — сообщество новичков
Samson
class Test {
 constructor() {
   this.data = null;
 }
 log(data, timer) {
   if(!this.data){
     this.data = data;
     setTimeout(function(){ test.data = null; },  timer);
     return console.log("setting data and timer " + this.data)
   }else{
     return  console.log("returning set: " + this.data);
   }
 }
}

const test = new Test();
test.log('1', 1000);
test.log('2', 1000);
test.log('3', 1000);
test.log('4', 1000);
test.log('5', 1000);
запускал?
источник

S

Samson in JavaScript Noobs — сообщество новичков
ну тебе же нужно возвращать одинаковое значение пока не кончится таймер так?
источник

ГЩ

Глеб Щукин in JavaScript Noobs — сообщество новичков
я ожидаю
log('1') => пауза 1 сек => log('5')
источник

ГЩ

Глеб Щукин in JavaScript Noobs — сообщество новичков
Samson
ну тебе же нужно возвращать одинаковое значение пока не кончится таймер так?
нет, последнее, если оно не было выведено
источник

S

Sasha in JavaScript Noobs — сообщество новичков
Danil
Привет, смотри. Метод indexOf проводит поиск по массиву и в случае если совпадение найдено - возвращает тебе индекс элемента в массиве. Например, в первом примере ищется 2, поэтому он возвращает тебе её позицию в массиве - 0. Если значение не найдено, то возвращает всегда -1
Спасибо, с первым примером понятно. Но здесь ведь 2 и там, и там, но результат разный

var array = [2, 5, 9];
array.indexOf(2, -1); // -1
array.indexOf(2, -3); // 0
источник

S

Samson in JavaScript Noobs — сообщество новичков
хз я с твоих обяснений понял что тебе просто нужно не давать выполнятся функции секунду с последнего кола и возвращать последнее значение
источник

D

Danil in JavaScript Noobs — сообщество новичков
Sasha
Спасибо, с первым примером понятно. Но здесь ведь 2 и там, и там, но результат разный

var array = [2, 5, 9];
array.indexOf(2, -1); // -1
array.indexOf(2, -3); // 0
indexOf(элемент который ищется, индекс откуда начинается поиск)

1-й аргумент "2" - ищем двойку в массиве

2-й аргумент "-1" - откуда стартует поиск. Я так понимаю пример ты взял с developer.mozilla.org, там внимательно вчитывайся в описание параметров.

"Если индекс является отрицательным числом, он трактуется как смещение с конца массива."
источник

S

Sasha in JavaScript Noobs — сообщество новичков
Danil
indexOf(элемент который ищется, индекс откуда начинается поиск)

1-й аргумент "2" - ищем двойку в массиве

2-й аргумент "-1" - откуда стартует поиск. Я так понимаю пример ты взял с developer.mozilla.org, там внимательно вчитывайся в описание параметров.

"Если индекс является отрицательным числом, он трактуется как смещение с конца массива."
Спасибо!
источник

PP

Peter Parker in JavaScript Noobs — сообщество новичков
А есть чат по Реакту?
источник