我正在尝试将文本转换为二进制,但是当我的循环运行时,它永远不会结束。我不知道为什么会这样。

有一个更好的方法吗?

handleBinaryChange: function(e){
    var friendsCopy = this.state.friendsArray;
    for (var i = 0; i < friendsCopy.length; i++) {
        for (var j = 0; j < friendsCopy[i].friendsName.length; j++) {
          console.log(friendsCopy[i].friendsName += friendsCopy[i].friendsName[j].charCodeAt(0).toString(2) + " ");
        }//End of 'j' for
      }//End of 'i' for

      this.setState({
          friendsArray: friendsCopy //make friendsCopy contain the new value for friendsName
      });
    }
}

最佳答案

通过在+=中使用friendsCopy[i].friendsName +=可以修改friendsCopy[i].friendsName。在每次迭代中,它变得更长,因此它永远不会停止。

如果仅要将其输出到控制台,请将其更改为

friendsCopy[i].friendsName + friendsCopy[i].friendsName[j].charCodeAt(0).toString(2) + " ");

07-26 03:46