【发布时间】:2011-02-19 06:39:36
【问题描述】:
optionElements 是一个二维数组。每个元素都有一个长度为 2 的数组。它们是一个整数和一个元素。我有一个名为链接框的选择列表,我想将所有元素添加到选择列表中。我希望它们进入的顺序很重要,并且由每个元素的数量决定。它应该从最小到最高。所以可以这样想:
optionElements 是:
[ [5, <option>], [3, <option], [4, <option], [1, <option], [2, <option]]
它会按这些数字的顺序将它们添加到链接框中。但事实并非如此。这是第一次之后的无限循环。我添加了 x 约束只是为了阻止它冻结我的浏览器,但你可以忽略它。
var b;
var smallest;
var samllestIndex;
var x = 0;
while(optionElements.length > 0 && ++x < 100)
{
smallestIndex = 0;
smallest = optionElements[0][0];
b = 0;
while( ++b < optionElements.length)
{
if(optionElements[b][0] > smallest)
{
smallestIndex = b;
smallest = optionElements[b][0];
}
}
linkbox.appendChild(optionElements[smallestIndex][1]);
optionElements.unshift(optionElements[smallestIndex]);
}
谁能指出我的问题出在哪里?
更新
在while循环中忘记添加>符号是错误的,但这不是问题的原因。
【问题讨论】:
标签: javascript