Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
正在尝试编写一个javascript函数,该函数计数为输入的数字_Javascript - Fatal编程技术网

正在尝试编写一个javascript函数,该函数计数为输入的数字

正在尝试编写一个javascript函数,该函数计数为输入的数字,javascript,Javascript,尝试获取一个整数并将其返回为 包含从1到传递的数字的整数的字符串。 尝试使用循环返回字符串,但不确定如何返回 我希望其外观的示例: count(5) => 1, 2, 3, 4, 5 count(3) => 1, 2, 3 甚至不确定从哪里开始尝试以下方法: function count(n) { var arr = []; for (var i = 1; i<=n; i++) { arr.push(i.toStri

尝试获取一个整数并将其返回为
包含从1到传递的数字的整数的字符串。 尝试使用循环返回字符串,但不确定如何返回

我希望其外观的示例:

count(5)    =>  1,  2,  3,  4,  5
count(3)    =>  1,  2,  3
甚至不确定从哪里开始

尝试以下方法:

function count(n) {
    var arr = [];
    for (var i = 1; i<=n; i++) {
        arr.push(i.toString());
    }
    return arr.toString();
}
函数计数(n){
var-arr=[];
对于(var i=1;i您可以使用a来迭代传入的次数。然后,您需要一个来处理逗号(因为您不希望在字符串的末尾使用逗号)

函数计数(num){
var s=“”;

对于(var i=1;i我将使用递归函数来实现它。继续连接数字,直到它达到1

var sequence = function(num){
    if(num === 1) return '1';
    return sequence(num - 1) + ', ' + num;
}
或者只是:

var sequence = (num) => num === 1 ? '1' : sequence(num - 1) + ', ' + num;

下面是一个非递归解决方案:

var sequence = num => new Array(num).fill(0).map((e, i) => i + 1).toString();

这是一个愚蠢的方法

function count(i)
{
    while (i--) {
        out = (i + 1) + "," + this.out;
    }
    return (out + ((delete out) && "")).replace(",undefined", "");
}

很可能是定义迭代器的最荒谬的方式:

"use strict";

function count ( i ) {
  let n = 0;
  let I = {};
  I[Symbol.iterator] = function() {
     return { next: function() { return (n > i) ? {done:true}
                                                : {done:false, value:n++} } } };
  let s = "";
  let c = "";
  for ( let i of I ) {
      s += c + i;
      c = ", "
  }
  return s;
}


let s = count(3);
console.log(s);

发布您拥有的代码。循环将是正确的第一个开始。然后您只需附加到字符串并返回该字符串。如果您对此感到困惑,您可能需要花更多的时间阅读JavaScript书籍:。您是否尝试定义函数?您是否尝试使用for循环?我将研究字符串浓缩,并感谢您的帮助帮助我甚至不知道从何处开始!为什么要对数组和数字执行字符串连接?不确定您的意思。您正在执行
[]+1
。为什么?如果要添加到数组中,它应该是
[]。推送(I)
。如果要执行字符串连接,则不需要数组。我正在执行
+=
“1”
,这就是我要说的。这是错误的。为什么会这样做?再次说明:您正在将空数组连接到字符串/数字。
[]+1
基本上与
相同+1
。你肯定会通过他的考试:)
"use strict";

function count ( i ) {
  let n = 0;
  let I = {};
  I[Symbol.iterator] = function() {
     return { next: function() { return (n > i) ? {done:true}
                                                : {done:false, value:n++} } } };
  let s = "";
  let c = "";
  for ( let i of I ) {
      s += c + i;
      c = ", "
  }
  return s;
}


let s = count(3);
console.log(s);