JavaScript:如何将array [char]值存储到变量中?

问题描述 投票:1回答:1

我正在用JavaScript写一个十进制到二进制转换器,并且我遇到了这个问题。

这是我的代码。

function binaryConverter(x)
    {
        if(x === "")
        {
            return 0;
        }

        let binaryArray = new Array(128, 64, 32, 16, 8, 4, 2, 1);
        let result = new Array();
        let newX;

        //pelda: x = 75

        for(let i = 0; i < binaryArray.length; i++)
        {

            if(binaryArray[i] <= x)
            {
                result.push('1');
                newX = x - binaryArray[i]; // 75 - 64 = 11 | 11 - 8 = 3 | 3 - 2 = 1
                x = newX;

            }
            else
            {
                result.push('0');
            }
        }

        writeBinaryNumber(result);

    }

function writeBinaryNumber(ar)
    {


        for (let i = 0; i < ar.length; i++)
        {
            document.write(ar[i]);
        }
    }

使用document.write()可以正常工作(我只用数字75对其进行了测试,我知道二进制代码的第一部分是0,我将对其进行修复。)。但我想与我的HTML连接。我想返回一个变量,其中包含数组中的字符,但我不能。在带有迭代器的C ++中,它可以工作,但是我对javascript不熟悉,我用Google搜索解决方案,但找不到。如果有人知道解决方案,请写下来!谢谢!

javascript arrays variables converters
1个回答
0
投票

使用数组join()方法将数组中的所有字符串连接为单个字符串。

let binary_number = ar.join('');

0
投票

您可以这样做

document.getElementById('demo').innerHTML = ar.join('')

function binaryConverter(x) {
  if (x === "") {
    return 0;
  }

  let binaryArray = new Array(128, 64, 32, 16, 8, 4, 2, 1);
  let result = new Array();
  let newX;

  //pelda: x = 75

  for (let i = 0; i < binaryArray.length; i++) {

    if (binaryArray[i] <= x) {
      result.push('1');
      newX = x - binaryArray[i]; // 75 - 64 = 11 | 11 - 8 = 3 | 3 - 2 = 1
      x = newX;

    } else {
      result.push('0');
    }
  }

  writeBinaryNumber(result);

}
binaryConverter(75)
function writeBinaryNumber(ar) {
 document.getElementById('demo').innerHTML = ar.join('')
}
#demo{
 color:red
}
<p id="demo" ></p>
© www.soinside.com 2019 - 2024. All rights reserved.