Наталья, вы такая умная, спасибо за объяснение, что уделили время.
Вот какие мне решения предлагали:
"можно object.entriesом все забираешь и сравниваешь: Object.entries(dict).map(([en,ru])=> if())
так правильнее
setValid(arr.every(({ru,en})=> ru === en), это для обычного массива объектов"
Я ничего не понял, поэтому ответил так:
"Прям самый начинающий, наверное, глупость спрошу, но ведь этот вариант работает, когда уже есть массив ru и массив en?"
Вот что мне ответили:
"не совсем понял но выглядеть будет как то так const elements = document.querySelectorAll('word_insert');
const russianwords = document.querySelectorAll('rus')
const words = Object.entries(dict)
elements.forEach((element)=>element.oninput = (ev) => words.forEach(([en,ru])=> ev.target.value === en) )
"
"Это деструктуризация элемента массива arr, где элемент - объект с полями ru и en"
Наталья, Спасибо, попробую. Про ассоциативный массив (объект) я посмотрел, поизучал. Только не понял, как сравнить, используя ассоциативный массив
К примеру, на странице html я создам input, присвою ему id, чтобы потом повесить слушатель (addEventListener) для того, чтобы забирать value из input. Создам button, даже повешу на нее функцию.
Но почему-то не могу понять, как реализовать проверку слова.
let words = {
"sky" : "небо",
"dog" : "собака",
"sun" : "солнце"
};
let words1 = ['sky', 'dog', 'man']; // инициализируем переменную, содержащую массив слов на английском
let words2 = ['небо', 'собака', 'мужчина'] // инициализируем переменную, содержащую массив на русском
words1.includes( "sky" ); // возвращаемое значение true
words1.includes( "people" ); // возвращаемое значение false (значение не найдено в массиве)
words1.includes( "b"); // возвращаемое значение false (значение не найдено в массиве)
words1.includes( "dog"); // возвращаемое значение true
console.log();
но все еще не понимаю, как сравнить одно значение массива с другим
Владимир, инвайт в рамках какой-то румы (то есть, рума 1 - в ней ставки от 5 до 20$, например). и вот пользователи в этой руме могут кидать друг другу инвайты "приглашения", и если пользователь соглашается, происходит списание в непосредственно комнате, где далее будет определен победитель?
shurshur, я думаю, что это не казино в классическом представлении - абсолютно однозначно. здесь сайт только берет 1$ за возможность двух игроков сыграть на деньги и комиссию от ставки проигравшего.
вопрос в том, как инициировать транзакцию изначально, саму механику:
1. Иван захотел играть, зашел на сайт нажал "+" и таким образом создал "слот/комнату". Скажем, у него есть 10$ на его криптовалютном кошельке. Поэтому когда он нажал на "+", столкнулся с всплывающим окном, он успешно ввел цифру "10$", так как изначально хотел на них сыграть. Таким образом, на сайте появилась "заявка на игру на 10$" от Ивана.
2. Иван уже заплатил 10$ (это его ставка) + комиссию за участие/вход в эту комнатку на двоих (1$) - Иван переводит 11$ сайту (это первая транзакция).
3.Дима, по счастливому стечению событий, тоже хотел сыграть на 10$, поэтому он как бы "присоединяется" к заявке Ивана и также платит 11$. (вторая транзакция)
4. Они кидают кости. Математика (math.random) случайным образом определяет победителя. Выиграл Дима (ему выпало число 7, в то время как Ивану - число 2).
5. Деньги Ивана отправляются Диме. (третья транзакция).
Таким образом, игроки заплатили деньги ДО того, как кинули кости, верно?
И также получается, что Иван как бы создал готовую сделку на 10$. По сути, он создал готовый стол, где цена сделки уже определена создателем. Проблема здесь в том, что не факт, что Дима захочет играть на 10$. Может, Диме не интересно играть на 10$, либо на сайте вообще только один Иван. Тогда получается, что Иван остался без игрока, при том что уже инициировал транзакцию первый раз.
Но я не знаю, как реализовать такое, чтобы игроки сами могли друг другу предлагать ставку для игры.
Хорошо. Давайте рассмотрим ситуацию по вашему сценарию:
1. Иван захотел играть, зашел на сайт нажал "+" и создал "слот/комнату". Скоро ему предстоит заплатить. У него есть 10 баксов. Поэтому когда он нажал на "плюсик" и столкнулся с всплывающим окном, он успешно ввел цифру "10$", потому что изначально хотел на них сыграть. Таким образом, на сайте появилась "заявка на игру на 10$" Ивана.
2. Иван уже заплатил 10$ + комиссию за участие/вход в эту комнатку на двоих (1$) - Иван переводит 11$ сайту (это первая транзакция).
3.Дима, по счастливому стечению событий, тоже хотел сыграть на 10$, поэтому он как бы "присоединяется" к заявке Ивана и также платит 11$. (вторая транзакция)
4. Они кидают кости. Математика случайным образом определяет победителя. Выиграл Дима.
5. Деньги Ивана отправляются Диме. (третья транзакция).
Таким образом, игроки заплатили деньги ДО того, как кинули кости, верно?
И также получается, что Иван как бы создал готовую сделку на 10$. По сути, он создал готовый стол, где цена сделки уже определена создателем. Проблема здесь в том, что не факт, что Дима захочет играть на 10$ или что они у него есть.
Но я не знаю, как реализовать такое, чтобы игроки сами могли друг другу предлагать ставку для игры.
shurshur, вопрос в том, как сделать списания автоматическими (по 1$ каждый платит администратору за участие - 2$, то есть. и так же списать 5% от денег которые достались победителю - в нашем примере 1$). что-то должно ведь инициировать транзакцию.
Вот какие мне решения предлагали:
"можно object.entriesом все забираешь и сравниваешь: Object.entries(dict).map(([en,ru])=> if())
так правильнее
setValid(arr.every(({ru,en})=> ru === en), это для обычного массива объектов"
Я ничего не понял, поэтому ответил так:
"Прям самый начинающий, наверное, глупость спрошу, но ведь этот вариант работает, когда уже есть массив ru и массив en?"
Вот что мне ответили:
"не совсем понял но выглядеть будет как то так const elements = document.querySelectorAll('word_insert');
const russianwords = document.querySelectorAll('rus')
const words = Object.entries(dict)
elements.forEach((element)=>element.oninput = (ev) => words.forEach(([en,ru])=> ev.target.value === en) )
"
"Это деструктуризация элемента массива arr, где элемент - объект с полями ru и en"
Но я все равно мало что понял...