簡體   English   中英

正在獲取TypeError:無法設置未定義的屬性“數據”

[英]Getting TypeError: Cannot set property 'data' of undefined

壓縮時,我很難找到在代碼中定義數據的錯誤。 我為我的代碼編寫了4個測試,而其中3個已經通過。 我在測試3時遇到錯誤。

添加此功能可以解決此問題,但我正在嘗試使其簡潔。

blockchain.addBlock({data: 'Bears'});

blockchain.addBlock({data: 'Beets'});

blockchain.addBlock({data: 'Battlestar Galatica'});

目前這是我收到錯誤時的內容。

describe('and the chain contains a block with an invalid field',()=>{
    it('returns false', () => {

        blockchain.chain[2].data = 'some-bad-and-evil-data';

        expect(Blockchain.isValidChain(blockchain.chain)).toBe(false);
        });
    });
FAIL ./blockchain.test.js
  ● Blockchain › isValidChain() › and the chain contains a block with an invalid field › returns false

    TypeError: Cannot set property 'data' of undefined

      54 |     it('returns false', () => {
      55 |
    > 56 |         blockchain.chain[2].data = 'some-bad-and-evil-data';
         |         ^
      57 |
      58 |         expect(Blockchain.isValidChain(blockchain.chain)).toBe(false);
      59 |         });

      at Object.it (blockchain.test.js:56:9)

似乎在blockchain.chain索引2沒有元素。 通常,這是嘗試訪問數組中元素的字段時出現此錯誤的最可能原因。

換句話說

someCollection[index].someField

如果看到包含UndefinedNullReferenceNullPointer關鍵字的錯誤,則您的集合沒有index + 1很多元素。

暫無
暫無

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

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