有没有一种方法可以让我打印没有逗号的数组?

时间:2017-11-23 23:39:17

标签: javascript jquery html arrays

我在JavaScript中有以下代码:

let calculationsArray = [];
$('.number-1').on('click', ()=> {
  calculationsArray.push(1);
  document.getElementById('screen-text').innerHTML = calculationsArray;
})
$('.number-2').on('click', ()=> {
  calculationsArray.push(2);
  document.getElementById('screen-text').innerHTML = calculationsArray;
})

HTML中的以下代码:

<span id='screen-text'></span>

但是当代码运行时,它打印如下:1,2。有没有办法打印数组,所以它显示没有逗号,像这样:12?我知道一种方法是在innerHTML之后用指定的数字替换calculateArray但是当我尝试它时,它会替换之前的数字。例如,如果我替换calculateArray,并按下1按钮和2按钮,它会像这样开始:1,但是在我按下2按钮后,它将2替换为2:2。我希望它附加2之后的1,如此:12。

3 个答案:

答案 0 :(得分:2)

你可以使用join试试这个:

calculationsArray.join("")

答案 1 :(得分:0)

你在这里。

&#13;
&#13;
let calculationsArray = [];
$('.number-1').on('click', () => {
  calculationsArray.push(1);
  document.getElementById('screen-text').innerHTML =calculationsArray.join('');
})
$('.number-2').on('click', () => {
  calculationsArray.push(2);
  document.getElementById('screen-text').innerHTML =calculationsArray.join('');
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span id='screen-text'></span>
<button class="number-1">1</button>
<button class="number-2">2</button>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

正如其他人所提到的,您可以将.join()与您想要的任何字符串一起用作分隔符。

但是,你也不需要这样的重复代码。只需选择所有元素,给它们相同的处理程序,然后从类名中提取数字。

let calculationsArray = [];
$('[class*=number-]').on('click', (event)=> {
  const n = +event.currentTarget.className.match(/\bnumber-(\d+)\b/)[1];
  calculationsArray.push(n);
  document.getElementById('screen-text').innerHTML = calculationsArray.join("");
});