簡體   English   中英

我需要我的數組返回並數組返回另一個變量,同時還包括它以前的數組成員,不知道如何去做

[英]I need my array to return and array back to another variable while also including its previous array members, no idea how to go about it

這是它應該通過的測試代碼

function makeArray() {
    const array = [];
    const t = 10;

    for (let i = 0; i < t; i++) {
        array.push("I am a strange loop.");
    }

    return [array, t];
}

describe('loops', () => {
    jsdom({
        src: fs.readFileSync(path.resolve(__dirname, '..', 'loops.js'), 'utf-8'),
    });

    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);
            const testArray = strangeArray.slice(array.length);

            const first = "I am 1 strange loop.";
            const rest = "I am 24 strange loops.";

            expect(strangeArray[11]).to.equal(first);
            expect(strangeArray[34]).to.equal(rest);
            expect(strangeArray.length).to.equal(t + 25);
        });
    });
});

這是我將函數返回到strangeArray代碼,我在想的是 35 是數組中成員的總數,因為測試通過要求我有 'expect(strangeArray[11]).to.equal(first) ' 等於我的函數的第 11 個值返回為“我是 1 個奇怪的循環”。

function forLoop(array) {
    for (let i = 0; i < 35; i++) {
        if (array[i] === "I am a strange loop.") {
            return;
        }
        else {
            array.push("I am ${i} strange loops.");
        }
    }
    return [array,i];
}

不確定你的意思,但我猜你只是想讓測試通過? 問題是第一個循環將 'loop' 設為單數,並且您的索引也不起作用,因為它們從 11 開始。這就是您的代碼不起作用的原因。 您可以推送到原始數組。

function forLoop(array){
  for(let i = 0; i < 25; i++){
    array.push(`I am ${i} strange loop${i > 1 ? '' : 's'}.`)
  }
  return array
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM