Size: a a a

2021 February 03

С

Славик in JS Liberty
persona x grata
Кто в побитовых разбирается? Мне надо из массива вытаскивать рандомные айтемы, чтобы один и тот же 2 раза подряд не вытаскивался

Math.floor(Math.random() * arr.length) >> 0

я так сделал, вроде не всегда срабатывает
побитовыми операциями ты этого и не добьешься же
источник

С

Славик in JS Liberty
заведи переменную для предыдущего и чекай
источник

x

xDaemonic in JS Liberty
парни привет! работаю на vue 2, через пользовательски события прокидываю родительскому компоненту значение, это значение обноаляется в data, а значение из data передается другому дочернему компоненту через props, значение доезжает а инлайновый стиль не перерендеривается, в чем дело?)
источник

F

Foma in JS Liberty
что еще за инлайн стили
источник

x

xDaemonic in JS Liberty
Foma
что еще за инлайн стили
которые в атрибут прописываются
источник

F

Foma in JS Liberty
:style={}
источник

x

xDaemonic in JS Liberty
Foma
:style={}
да, оно
источник

F

Foma in JS Liberty
такое?
источник

F

Foma in JS Liberty
а они в дата7
источник

x

xDaemonic in JS Liberty
Foma
а они в дата7
у родителя да, у дочки в пропсе
источник

F

Foma in JS Liberty
for item of items
  <Item :item=item   (props:['item'])  @castom:event='onUpdate'

for item of items
  <Item :item=item   (props:['item']) <div :style='item.style'>

 

parent{
data (){
   return {
      items:[
            {id,name,style}
       ]
   }
}
methods:{
   onUpdate(item){
       this.items = this.items.map(x=>x.id ===item.id ? item: x)
   }
}
}
источник

F

Foma in JS Liberty
тип такого
источник

x

xDaemonic in JS Liberty
Не, не работает, подозреваю что конкретно из за style, потому что если просто на страницу значение вывести то обновляется все норм
источник

В

Виталий in JS Liberty
persona x grata
Кто в побитовых разбирается? Мне надо из массива вытаскивать рандомные айтемы, чтобы один и тот же 2 раза подряд не вытаскивался

Math.floor(Math.random() * arr.length) >> 0

я так сделал, вроде не всегда срабатывает
А если через замыкание?
Объяви пустой массив с клади туда то что вызвалось, при следующей проверке сравнивай, есть ли в замкнутом массиве значение.

Ну или клонируй исходный массив и просто дропай то значение, которое тебе рандомайзер выдает.  Повторов нет, исходный не затронут
источник

x

xDaemonic in JS Liberty
Бля, а может это из за того, что я туда передаю просто число, а надо 52+'px', тобишь с единицами?  Изначально туда 0 уходит и он видимо сам ему 'px' дописыыает
источник

p

persona x grata in JS Liberty
Виталий
А если через замыкание?
Объяви пустой массив с клади туда то что вызвалось, при следующей проверке сравнивай, есть ли в замкнутом массиве значение.

Ну или клонируй исходный массив и просто дропай то значение, которое тебе рандомайзер выдает.  Повторов нет, исходный не затронут
const arrayStr = ['one', 'two', 'three', 'four', 'five'];

const getRandom = arr => Math.floor(Math.random() * arr.length);

const swapWords = () => {  
 let arrCopy = [...arrayStr];
 
 setInterval(() => {
   const randomWord = arrCopy[getRandom(arrCopy)];
   arrCopy = arrCopy.filter(x => x !== randomWord);

   console.log(randomWord);

   if (!arrCopy.length) {
     console.log('-----')
     arrCopy = [...arrayStr];
   }
 }, 500);
};

requestAnimationFrame(swapWords());
источник

S

Syntax Highlight Bot in JS Liberty
persona x grata
const arrayStr = ['one', 'two', 'three', 'four', 'five'];

const getRandom = arr => Math.floor(Math.random() * arr.length);

const swapWords = () => {  
 let arrCopy = [...arrayStr];
 
 setInterval(() => {
   const randomWord = arrCopy[getRandom(arrCopy)];
   arrCopy = arrCopy.filter(x => x !== randomWord);

   console.log(randomWord);

   if (!arrCopy.length) {
     console.log('-----')
     arrCopy = [...arrayStr];
   }
 }, 500);
};

requestAnimationFrame(swapWords());
источник

p

persona x grata in JS Liberty
так норм или есть получше алгоритм? Мне надо через интервал
источник

p

persona x grata in JS Liberty
Наверно с побитовыми можно как-то оптимизировать
источник

F

Foma in JS Liberty
аррейкопи...
источник