Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.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 不理解我所说的';我的forLoop函数中缺少了m_Javascript_Arrays_For Loop - Fatal编程技术网

Javascript 不理解我所说的';我的forLoop函数中缺少了m

Javascript 不理解我所说的';我的forLoop函数中缺少了m,javascript,arrays,for-loop,Javascript,Arrays,For Loop,我一直试图通过多次重写我的forLoop来解决这个问题,比如在线查看,甚至检查了MDN,我需要别人的帮助 现在我得到的测试错误是: 1) loops forLoop(array) adds `"I am ${i} strange loop${i === 0 ? '' : 's'}."` to an array 2 5 times:

我一直试图通过多次重写我的forLoop来解决这个问题,比如在线查看,甚至检查了MDN,我需要别人的帮助

现在我得到的测试错误是:

1) loops forLoop(array) adds `"I am ${i} strange loop${i === 0 ? '' : 's'}."` to an array 2
 5 times:                                                                                     
 ReferenceError: forLoop is not defined
我当前的代码如下所示:

function forLoop(array){
 var newArr = [];
 for (var i = 0; i < array.length; i++){
  if (i === 1) {
   newArr.push("I am 1 strange loop.")
  } else {
   newArr.push(`I am ${i} strange loop${i === 0 ? '' : 's'}.`)
  }
 }
 return newArr
}
函数forLoop(数组){
var newArr=[];
对于(var i=0;i
思考过程:

  • 我需要一个循环来迭代正在放置的数组
  • 我需要一个新的数组来在每次循环时输入一些东西
  • 调用for循环。将i设置为0,因为我们将从那里开始
  • 找到小于array.length的端点
  • 放置增量,因为每次循环时,我们将从0开始递增
  • 做if和else语句
  • addif语句对新数组为true
  • 最后返回新数组
  • 有什么我不明白或不明白的吗?似乎真的无法破解这个

    有关测试的其他信息。此问题的测试是:

    describe('forLoop(array)', () => {
     it('adds `"I am ${i} strange loop${i === 0 ? \'\' : \'s\'}."` to an array 25   times', () => {
      const [array, t] = makeArray()
      const strangeArray = forLoop(array)
    
      expect(strangeArray.length).to.equal(t + 25)
    
      const testArray = strangeArray.slice(array.length)
    
      for (let i = 0, l = testArray.length; i < l; i++) {
        let s = i === 1 ? "I am 1 strange loop." : `I am ${i} strange loops.`
        expect(testArray[i]).to.equal(s)
      }
    })
    }) 
    
    description('forLoop(array)'),()=>{
    它('adds`“I am${I}奇怪的循环${I==0?\'\'\':\'s\'})。'to array 25次',()=>{
    const[array,t]=makeArray()
    常量奇数组=forLoop(数组)
    expect(奇异数组.length).to.equal(t+25)
    const testArray=squaredarray.slice(array.length)
    for(设i=0,l=testArray.length;i
    引用错误:未定义forLoop
    表示Javascript解释器找不到函数“forLoop”

    可能的原因:

    • 测试和函数不在同一文件中,您在包含包含函数的文件时出错。确保在测试文件之前将文件包含在函数中


    • 测试无法访问该函数,因为它位于应用程序的不同范围内


    我自己测试了forLoop函数,它对我有效。我不认为问题出在forLoop函数中。

    顶层代码有效。底层代码显然是某种测试框架。你问的是哪一个?测试无法访问该函数(超出范围)。您需要在定义文件的地方导入该文件,或将其包含在测试文件中。@squint我正在学习一门预引导课程。他们告诉我们,无论何时遇到困难,都要查看测试。我上面有问题。它是说“loops forLoop(array)添加
    ”我是${I}奇怪的循环${I==0?'':'s'}。”
    到数组中25次:“在问题中。@斜视我没有得到25次部分。我想这就是导致程序最终失败的原因。我添加了测试,以防有人问我需要从我的代码中得到什么。@Dez测试就是我发现的这个问题。有人告诉我,如果我不知道该怎么办,就去看考试。