如何从奇数阵列中获取字符串?

时间:2017-11-08 10:58:13

标签: javascript string

我需要帮助......我正在学习JavaScript,这似乎很容易,但我可能只是忽略......一切......我的问题是我需要返回一串所有偶数之间的数字0和num包括在内;前7给你0246,等等。我已经得到了:

function stringOfEvens(num) {
  for (let i = 0; i <= num.length; ++i) {
    if (i % 2 === 0 ); {
      return i;
   }
  }
}

我知道整个前景是运行一个for循环,从0到每次追加的问题,如果那个数字%2 = 0,则返回该数字,但是有些东西是错过的...我甚至可能过度思考并接近这一切都是错误的......这比喻地让我发疯......

5 个答案:

答案 0 :(得分:2)

&#13;
&#13;
function theJob(limit) {
  var res = ''; //initialize as a string so that the other numbers will be appended instead of added
  for (i = 0; i <= limit; i += 2) { // step increase by 2 to skip odd numbers
      res += i;
  }
  return res; // returning the resulting string
}

console.log(theJob(10));
&#13;
&#13;
&#13;

答案 1 :(得分:1)

您将返回找到的第一个号码。更好的方法是在循环中构建字符串,然后在循环后的字符串后返回。如果num是int,也不需要num.length。

function stringOfEvens(num) {
    var stringToReturn = "";
    for (let i = 0; i <= num; i++) {
        if (i % 2 === 0) {
            stringToReturn = stringToReturn + i;
        }
    }
    return stringToReturn;
}

答案 2 :(得分:1)

您可以在不使用模块化功能的情况下执行此操作,只需在零循环处启动循环,并在每次循环迭代时递增2 ...

&#13;
&#13;
function stringOfEvens(num) {
  var result = "";
  for (let i = 0; i <= num; i += 2) {
    result += i; // append this even number to the result string
  }
  return result;
}

console.log(stringOfEvens(10));
&#13;
&#13;
&#13;

答案 3 :(得分:0)

只是为了好玩,因为它不是特别有效:

const stringOfEvens = n => Array(~~(n/2)+1).fill().map((_, i) => 2*i).join("")

或注释:

const stringOfEvens = n =>           // arrow function definition, returning:
     Array(~~(n / 2) +1)         // a sparse array of the required length
    .fill()                          // made unsparse, so .map works
    .map((_, i) => 2 * i)            // then containing the even numbers
    .join("")                        // and converted to a string

或者(更有效地)使用可以调用显式地图函数的Array.from

const stringOfEvens = n => Array.from(Array(~~(n/2)+1), (_, i) => 2*i).join("")

答案 4 :(得分:0)

function stringOfEvens(num) {
var str= ' ';
for(var i = 0; i <= num; i = i + 2){
str += i;
}
return str;
}
console.log(stringOfEvens(10))