如何在数组内部保存对象的索引?

时间:2019-02-05 17:57:09

标签: javascript reactjs

我正在尝试在React中编码“区块链”可视化实现。我想以某种方式在每个对象的对象(属于我的块)数组中保存索引。我不知道该怎么做。

    this.state = {
      value: '',
      blocks: [{
        hash: calculateHash(1),
        timestamp: timeStamp(),
        dataOfBlock: 'Genesis Block',
        nounce: 607,
        index: 0
      }]
    }
  };

    addBlock = (event) => {
      event.preventDefault();

      this.setState({
      blocks: [...this.state.blocks, {
        hash: 'cos',
        timestamp: timeStamp(),      
        dataOfBlock: this.state.value,
        nounce: '',
        index: 1 // here's the problem
      }]
    })
    }

我的代码模仿了我想在注释所在的位置完成的操作。我想在每个块中将+1不断添加到索引中。

1 个答案:

答案 0 :(得分:4)

添加新对象时,可以使用length作为新对象的索引
注意this.state.blocks.length将下一个索引,因为索引从0

开始
blocks: [...this.state.blocks, {
        hash: 'cos',
        timestamp: timeStamp(),      
        dataOfBlock: this.state.value,
        nounce: '',
        index: this.state.blocks.length
      }]