我需要帮助打印并在javascript中保存数组中的元素。我知道我必须创建一个数组,然后使用for循环来保存和打印它,但我不知道如何。我想做什么我做一个简单的货币转换器,使用带数组的for循环来保存转换后的输入并显示它。这是我的代码:
JAVASCRIPT
var input = document.querySelector("#input");
var convert = document.querySelector("#convert");
var dollar = 0.51;
var euro = 0.11;
omvandla.onclick = function (){
if(isNaN(input.value)){
alert ("Use numbers");
}
else{
console.log(("Dollar:" + input.value*dollar) + ("Euro:" + input.value*euro));
}
};
HTML
<p>
<form>
<label>Kronor: <input type="text" id="kronor"/></label>
<br><input type="submit" id="convert" value="Omvandla"/>
</from>
</p>
如何在提交按钮后附加转换后的值?
答案 0 :(得分:0)
在javascript中,向数组添加元素的方式是push函数
var myArray = [];
myArray.push(15);
然后循环遍历元素,你可以做这样的事情
for(var elem in myArray){
//Do something with elem
}
从您的问题描述中,很难弄清楚您要对代码执行的操作。希望这有助于数组操作
答案 1 :(得分:0)
查看数组的for()语句。
for( var i = 0; i < myarray.length; i++ ){
// ...statements ie document.write("<li> "+myarray[i]);
}
和(in)关联数组和对象。
obj = document; /* or "input" in your case */
for (var key in obj {
document.write("<li> "+key+":"+obj[key]);
}
<强>更新强>
在你的情况下,我会使用一个关联的数组,所以我不需要遍历一个表,(尽管如果有人根据问题登陆这个页面,那些人可能会想要上面的内容)。相关联的数组会大大缩短范围。使用关联的数组执行此操作最终可能会看起来像这样。
// $table is an associated array of dollar rates
$table = {
euro:1.37,
Yuan:0.16,
yen:0.0096}
/* associated arrays can be accessed in two ways,
as a property or [] index of which allows a variable to be used.
using the indexOf method helps use today. */
yen = 4500;
alert("value of yen in dollars "+ yen * $table.yen);
alert("value of yen in dollars "+ yen * $table['yen']);
// basic HTML interface to dropdown and input text bos
var htmldropdownobject = document.getElementById("convertFrom"); /* document.querySelector could be used, I'm old school */
var htmltextinputobject = document.getElementById("textbox_amount");
var typeOfMoney = htmldropdownobject.options[htmldropdownobject.selectedIndex].value;
var amount = htmltextinputobject.value;
// conversion.
alert("value of " + typeOfMoney + " in dollars"+ amount * $table.[typeOfMoney]");
最终你需要编写html和代码,这主要是为了指明你的方向,而不是试图编写你的代码。
答案 2 :(得分:0)
您可以使用array.push()
函数将元素添加到数组的末尾。我的例子你会做的事情如下:
array = [];
...
omvandla.onclick = function (){
if(isNaN(input.value)){
alert ("Use numbers");
}
else{
console.log(...);
array.push(input.value);
}
};
答案 3 :(得分:0)
如果要显示一个接一个的转换结果,可以这样做:
var input = document.querySelector("#kronor");
var convert = document.querySelector("#convert");
var dollar = 0.51;
var euro = 0.11;
var conversionArray = [];
convert.onclick = function (){
if(isNaN(input.value)){
alert ("Use numbers");
}
else{
var dollarResult = input.value*dollar;
var euroResult = input.value*euro;
var newArrayEl = {
dollar: dollarResult,
euro: euroResult
};
conversionArray.push(newArrayEl);
console.log(conversionArray);
document.getElementById("convertedValue").innerHTML = "Dollar: " + dollarResult + " Euro: " + euroResult + "<br>" + document.getElementById("convertedValue").innerHTML;
}
};
然后,您可以通过以下方式访问转化的单个值: conversionArray[indexOfElement].dollar
这样您就不需要数组来存储值。如果你真的需要再次使用wvalues,请告诉我,并告诉你如何存储数组。
Here is a Fiddle,显示了它的工作原理。