【发布时间】:2017-04-14 22:07:54
【问题描述】:
单击“确定”时,我的代码会生成一个二维矩阵。该代码将数据存储在多维数组中,但我正在尝试向代码添加一个排序函数,该函数使用第 4 个文本框按升序重新排列代码。关于我如何做到这一点的任何建议?
HTML 代码
<div class="rightDiv">
<div id = "pastcalcblock">
<h3> PAST CALCULATIONS </h3>
<input type = "text" size = "1" id = "text1"/>
<input type = "text" size = "1" id = "text2"/>
<input type = "text" size = "1" id = "text3"/>
<input type = "text" size = "1" id = "text4"/><br>
<input type = "button" value = "Ok" id = "operation" onClick = "display()"/>
<div id = "resultTab">
SORT<br>
<input type = "button" value = "As Entered" id = "enteredBut">
<input type = "button" value = "By Result" id = "resultBut" onClick = "sort()"><br><br>
<div id="expressions">
</div>
</div>
</div>
Javascript 代码
function display()
{
var arrayOne =[document.getElementById('text1').value,document.getElementById('text2').value,document.getElementById('text3').value,document.getElementById('text4').value ];
new_array=arrayOne.join(" ");
var para = document.createElement("p");
var t = document.createTextNode(new_array);
para.appendChild(t)
document.getElementById("expressions").appendChild(para);
}
function sort(){
var dispArr = [document.getElementById('text1').value,
document.getElementById('text2').value, document.getElementById('text3').value,document.getElementById('text4').value];
var myArray = [];
for(var i = 0 ; i < 1 ; i ++ ) {
myArray[i] = [];
for(var j = 0 ; j < 5 ; j++ )
{
myArray[i][j] = dispArr[j];
console.log(myArray[i][j]);
}
}
}
【问题讨论】:
-
myArray中的符号行的目的是什么:虽然你有一个循环,但它只包含一行。您希望对该行进行排序吗? -
好吧,我试图将数组存储在另一个数组中,然后运行 for 循环来比较值。
-
我很困惑如何解决这个问题。但我想让它发挥作用。
-
输入值是字符串,还是预期输入是数字?
-
我还是不明白你想要排序什么:你只有 4 个值,你想按第 4 个值对它们进行排序——这没有多大意义。什么意思?
标签: javascript arrays sorting multidimensional-array