需要在算术级数中找到隐藏的元素

时间:2019-06-18 16:50:17

标签: javascript math

我需要编写一个函数以使用一个隐藏元素生成算术级数。之后,将在另一个函数中调用此函数。用户将不得不写出丢失的号码。之后,如果他是对的,他将得到答案。我想我应该更改整个当前功能,或者在第二个功能中添加一些内容。

我编写了一个函数,该函数生成进度并隐藏一个随机数,但是我不知道如何找到隐藏的数并将其与用户的答案进行比较。

export function fn() {
  let x = 0;
  let resultString = '';
  const step= getRandom();

  const min = 1;
  const max = 10;
  let index = min + Math.random() * (max + 1 - min);
  index = Math.floor(index);

  for (let i = 1; i <= 10; i += 1) {
    x += step;
    const isIndex = i === index ? '..' : `${x}`;
    resultString = `${resultString} ${isIndex}`;
  }
  console.log(resultString);
}

我希望我能够找到使用哪个数字而不是'..'。

1 个答案:

答案 0 :(得分:0)

只需保存隐藏在变量中的数字,然后将其与猜测的数字进行比较即可。

// I don't know how your getRandom() function works,
// so I created a simple one
function getRandom() {
  return 2
}

function initSeries() {
  let x = 0;
  let resultString = '';
  const step = getRandom();

  const min = 1;
  const max = 10;
  let index = min + Math.random() * (max + 1 - min);
  index = Math.floor(index);

  for (let i = 1; i <= 10; i += 1) {
    x += step;

    let isIndex = i === index ? '..' : `${x}`;
    if (isIndex === '..') {
      hiddenNumber = x
    }
    resultString = `${resultString} ${isIndex}`;
  }
  document.getElementById('series').innerHTML = resultString
}

let hiddenNumber
initSeries()

document.getElementById('check').addEventListener('click', function() {
  let msg = ''
  if (document.getElementById('guessed').value == hiddenNumber) {
    msg += 'You guessed right!'
  } else {
    msg += 'Guess again!'
  }
  document.getElementById('success').innerHTML = msg
})

document.getElementById('new').addEventListener('click', function() {
  initSeries()
  document.getElementById('success').innerHTML = ''
})
<input id="guessed" type="text" />
<button id="check">CHECK RESULT</button>
<button id="new">NEW SERIES</button><br /><br />
<div id="series"></div>
<div id="success"></div>