条件语句不起作用-数组

时间:2019-06-11 14:31:53

标签: javascript

我有这个(新手)JS问题:

我有这个简单的函数 function movieStorage(),我想检查是否单击了“是”按钮-如果这样,它将把输出(RandomItem)存储在一个新数组(movieSaver)中。 / p>

输出是hMovies数组中的随机值-单击“是”按钮时生成。

var hMovies = [
  "hMovie1",
  "hMovie18"
];

var movieSaver = [];

var randomItem = hMovies[Math.floor(Math.random() * hMovies.length)];

document.getElementById("buttonYes").addEventListener("click", ifClickedYes);

function ifClickedYes() {
  document.getElementById("showResult").innerHTML = randomItem;
  return (true);
}

function movieStorage() {
  if (ifClickedYes()) {
    movieSaver.push(randomItem);
  }
}
console.log(movieSaver);
<button id="buttonYes">Yes</button>
<div id="showResult"></div>

1 个答案:

答案 0 :(得分:1)

没有必要检查始终为true的条件。您不需要第二个功能。您唯一需要做的就是将元素推到onclick事件附带的函数中的数组中。

此外,每次使用都会在点击时生成一个新的随机索引。

var hMovies = [
   "hMovie1",
   "hMovie18"];

var movieSaver = [];
document.getElementById("buttonYes").addEventListener("click", ifClickedYes);

function ifClickedYes(){
  var randomItem = hMovies[Math.floor(Math.random()*hMovies.length)];
  movieSaver.push(randomItem)
  document.getElementById("showResult").innerHTML = randomItem;
  console.log(movieSaver);
}

工作摘要:

var hMovies = [
   "hMovie1",
   "hMovie18"];

var movieSaver = [];
document.getElementById("buttonYes").addEventListener("click", ifClickedYes);

function ifClickedYes(){
  var randomItem = hMovies[Math.floor(Math.random()*hMovies.length)];
  movieSaver.push(randomItem)
  document.getElementById("showResult").innerHTML = randomItem;
  console.log(movieSaver);
}
<button id="buttonYes">Yes</button>
<div id="showResult"></div>