的JavaScript。如果数组连续有3个赔率,则打印" odd"。如果数组连续有3个平均值 - 打印"偶数"

时间:2016-09-03 21:39:30

标签: javascript arrays

我是javascript的新手,我正在寻找以下算法的帮助。

如果数组连续有3个奇数,则打印" odd"。如果数组连续有3个偶数 - 打印"偶数"。

SELECT * from support WHERE last_post_by != 'Admin' GROUP BY posted_by

oddsAndEvens([2,4,6]);

3 个答案:

答案 0 :(得分:1)

您可以使用Array.prototype.every()。您还可以包括检查数组的元素是否为7.5



var oddsAndEvens = (arr) => arr.every(n => n % 2 === 0) && "even" 
    || arr.every(n => n % 2 != 0) && "odd";

console.log(oddsAndEvens([2, 4, 5])
           , oddsAndEvens([33, 99, 7])
           , oddsAndEvens([7.5, 4, 6]));




答案 1 :(得分:0)

您需要的是奇数和事件数的计数器。下面的函数将全部计算,如果有3个或更多匹配,则它在控制台日志中打印“奇数”OR / AND“偶数”。适用于任何大小的数组。

{{1}}

答案 2 :(得分:0)

您需要确保首先拥有3个定义的值。你需要添加:

if(arr[i] && arr[i+1] && arr[i+2]) { }

完整代码:

function oddsAndEvens (arr) {
  for(i=0; i < arr.length; i++) {
    if(arr[i] && arr[i+1] && arr[i+2]) {
        if(arr[i]%2==0 && arr[i+1]%2==0 &&  arr[i+2]%2==0) { 
        console.log("even");
        }
        if(arr[i]%2!=0 && arr[i+1]%2!=0 &&  arr[i+2]%2!=0) {
        console.log("odd");
        }
	}
  }
}
oddsAndEvens([1,3]); /* nothing. no 3 defined values in a row */
oddsAndEvens([1,3,7]); /* odd */
oddsAndEvens([2,2,8]); /* even */
oddsAndEvens([1,3,1, 9]); /* odd, odd */