关于函数返回数组数据的问题

时间:2010-04-12 02:10:34

标签: javascript arrays function loops

var grossBrackets = new Array( '300', '400', '500', '600', '700', '800', '900', '1000' );   
function bracketSort( itemToSort ) {
        for( index = 0 ; index < grossBrackets.length ; index++ ) {
            if ( itemToSort < grossBrackets[index] ) {
                bracketData[index]++;
            } else if ( itemToSort > grossBrackets[7] ) {
                grossBrackets[7]++;
            }
        }
        return bracketData;
    }

这是我目前的代码,我基本上想要将数据分类到适当的括号中。我的源代码很长,但是当我将这些数字输入函数时:

200.18
200.27
200.36
200.45
200.54

bracketData打印5,5,5,5,5,5,5,5还是有更好的方法吗?

支架: &LT; 300, &LT; 400 &LT; 500, &LT; 600, &LT; 700 &LT; 800, &LT; 900 &LT; 1000, 大于1000

1 个答案:

答案 0 :(得分:1)

如果您只想将每个项目放在一个括号中,则需要在找到匹配项后结束grossBrackets上的循环。您可以使用break关键字执行此操作,如下所示:

if ( itemToSort < grossBrackets[index] ) {
   bracketData[index]++;
   break;
} 

顺便提一下,您要检查itemToSort是否大于grossBrackets[7] 8次,grossBrackets中每个元素一次。你真的只需要这样做一次,所以它不需要在循环中。