我在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。
答案 0 :(得分:2)
你可以使用join试试这个:
calculationsArray.join("")
答案 1 :(得分:0)
你在这里。
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;
答案 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("");
});