编写一个函数,该函数需要两个参数,一个数字数组和一个数字,如果数字在数组中,则返回true或false

时间:2018-07-12 14:04:20

标签: javascript

我对JavaScript还是很陌生,我不太确定自己在做什么错,任何帮助将不胜感激。

var array = [3, 5, 6, 10, 20];

function array (arr, num) {
    for (var i=0 ;  i < array.length; i++);
    return true;
} else {
    return false;
}
}

arr(10);

2 个答案:

答案 0 :(得分:-2)

您实际上不必为此使用循环。您可以使用indexOf()函数。 https://www.w3schools.com/jsref/jsref_indexof_array.asp

您的代码如下:

var numbers = [3, 5, 6, 10, 20];
function isNumberInList(numbers, number) {
  var result = false;
  if(numbers.indexOf(number)!=-1){
     result = true;
  }
  return result;
}

答案 1 :(得分:-2)

使用indexOf检查对象是否在Array中。 indexOf将返回元素的index(如果它在Array中,则返回-1,如果元素不在 function arrayContains(arr, obj) { return arr.indexOf(obj) != -1; } 中。

<input type="text" id="num">
<br/>
<input type="button" value="Check if value is one of the first nine terms of the Fibonacci sequence" onClick="check()"/> 
<br/>
<span id="result"></span>
<script>
var array = [1, 1, 2, 3, 5, 8, 13, 21, 34];
function arrayContains(arr, obj) {
       return arr.indexOf(obj) != -1;
}
var result = document.getElementById("result");
function check(){
   var num = document.getElementById("num").value;
   if(num.trim().length&&!isNaN(num)){
     if(arrayContains(array, parseInt(num, 10))){
       result.innerHTML = "Number is one of the first nine terms of the Fibonacci sequence.";
     } else {
     result.innerHTML = "Number is <b>not</b> one of the first nine terms of the Fibonacci sequence.";
     }
   } else {
    result.innerHTML = "<b style='color: red;'>Input must be a number!</b>";
   }
}
</script>

{{1}}