[英]How to add two values into the array using JavaScript
好吧,我想將文本框中的值添加到數組中,我試過但是它只能添加一個值,為什么?如果可能的話,我怎么能實現呢? 在我嘗試過的代碼下面,
<script type="text/javascript">
var x = 0;
var y = 0;
var array = Array();
function addintoarray() {
array[x] = document.getElementById("cuna").value; //create the array for to add custumer name
array[y] = document.getElementById("cuad").value; //create the array to add custemer address
alert("Custmername: " + array[x] + "Added" + "Custmeraddress: " + array[y] + "Added"); //display msg
x++; //count increament to add another one
y++;
document.getElementById("cuna").value = "";
document.getElementById("cuad").value = "";
}
</script>
表
<form method="post">
<table border="1">
<tr>
<td>CustmerName</td>
<td><input type="text" id="cuna" /></td>
</tr>
<tr>
<td>CustmerAddress</td>
<td><input type="text" id="cuda" /></td>
</tr>
<tr>
<td><input type="submit" value="Add" onclick="addintoarray();" />
</td>
<td><input type="Submit" value="Display" onclick="displayintoarray" /></td>
</tr>
</table>
</form>
您將x
和y
都初始化為0
因此每次執行array[x] =
或array[x] =
時都將索引為0
的元素作為目標。 如果要添加項目,可以使用JavaScript的array.push()方法。
使用JavaScript對象存儲值既然我注意到您想繼續添加到數組中,則應考慮使用對象對數組中的數據進行分組。 var myArray = Array();
function addintoarray() {
let name = document.getElementById("cuna").value;
let address = document.getElementById("cuad").value;
myArray.push({'customerName':name,'customerAddress':address})
alert("Customername: " + name + "Added. " + "Customeraddress: " + address + "Added");
}`
您應該做的是更改x和y的值。
var x = 0;
var y = 1;
var array = Array();
然后這將起作用。
array[x] = document.getElementById("cuna").value;
array[y] = document.getElementById("cuad").value;
但是我認為您不需要這樣做。 您可以使用數組推送方法。
array.push(document.getElementById("cuna").value)
array.push(document.getElementById("cuad").value)
我認為您希望結果像這樣:
[[cuna1,cuad1] [cuna2,cuad2]]
在這種情況下,您應該執行以下操作:
let arrayToPush = [document.getElementById("cuna").value,document.getElementById("cuad").value]
(順便提一下,您在HTML中輸入的是錯字:“ cuda”而不是“ cuad”)
然后做
array.push(arrayToPush)
x = 0和y = 1的解決方案將不起作用,因為在第二輪中x將為1,y將為2,因此array [x]將覆蓋先前的值。 但是,他們是正確的說法,您應該避免使用索引,而應該推送到數組。
您將x,y用作具有相同值的索引,因此彼此替換。 您先分配array [x],然后分配array [y],這意味着在初始情況下
array[0]=document.getElementById("cuna").value;
array[0]=document.getElementById("cuad").value;
您可以使用兩個不同的初始值,例如x = 0,y = 1,並且仍然遞增值x + = 2; y + = 2;
相反,您可以使用數組原型推送值
array.push(document.getElementById("cuna").value);
array.push(document.getElementById("cuad").value);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.