如何在JavaScript中推送数组中的不同元素

如何在JavaScript中推送数组中的不同元素,javascript,html,Javascript,Html,下面是我的HTML文档。我想推送在名为“number”的数组中单击的数字 现在,如果我单击1,数字会增加,但是如果我单击2或3,那么数字1也会添加到数组中 我知道原因,因为它使用相同的id,但如何添加不同的号码 <html> <body> <table> <tr> <td id="key" onClick="addNumber()">1</td> <td id="key" onClick="addNumber()"

下面是我的HTML文档。我想推送在名为“number”的数组中单击的数字

现在,如果我单击1,数字会增加,但是如果我单击2或3,那么数字1也会添加到数组中

我知道原因,因为它使用相同的id,但如何添加不同的号码

<html>
<body>
<table>

<tr>

<td id="key" onClick="addNumber()">1</td>
<td id="key" onClick="addNumber()">2</td>
<td id="key" onClick="addNumber()">3</td>

</tr>

<tr>

<td>4</td>
<td>5</td>
<td>6</td>

</tr>
</table>

</body>

<script>

 let number = [];
function addNumber() {
   var num = document.getElementById("key").innerHTML;
   number.push(num);
}
</script>
</html>

1.
2.
3.
4.
5.
6.
设数=[];
函数addNumber(){
var num=document.getElementById(“key”).innerHTML;
number.push(num);
}
请尝试以下方法:

<html>
<body>
<table>

<tr>

<td id="key" onClick="addNumber(1)">1</td>
<td id="key" onClick="addNumber(2)">2</td>
<td id="key" onClick="addNumber(3)">3</td>

</tr>

<tr>

<td>4</td>
<td>5</td>
<td>6</td>

</tr>
</table>

</body>

<script>

 let number = [];
function addNumber(num) {
   number.push(num);
}
</script>
</html>

1.
2.
3.
4.
5.
6.
设数=[];
函数addNumber(num){
number.push(num);
}

您可以像这样将当前元素传递给函数:

onClick="/myFunction( this )"
现在可以读取此元素,因为它是传入的第一个参数:

function myFunction( element ){ .. use element... }
let number=[];
函数addNumber(元素){
var num=element.innerHTML;
number.push(num);
控制台日志(编号)
}

1.
2.
3.
4.
5.
6.

只需更改为不同的id?第一个元素的id是找到的嘿,我们能在同一个数组中打印数字吗?并同时打印数组的元素?现在,在您和我的代码中,它每次单击都会打印新数组。@Aditya在内部,这是同一个数组,它的工作原理是
console.log
每次单击都会打印它(因为每次登录时它都会打印结果)。在内部,它仍然是存储在
number
中的单个数组。我不确定您要的是什么输出,这个问题不清楚。不,我知道了,正如您所说,内部是同一个数组。这只是疑问。如果我的问题有效,您可以对其进行投票。@Aditya我还添加了一个关于如何实现这一点的最佳实践示例。我还更改了它的输出,因此您可以更轻松地获得“它是同一个数组”!