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
答案 0 :(得分:1)
如果您只想将每个项目放在一个括号中,则需要在找到匹配项后结束grossBrackets
上的循环。您可以使用break
关键字执行此操作,如下所示:
if ( itemToSort < grossBrackets[index] ) {
bracketData[index]++;
break;
}
顺便提一下,您要检查itemToSort
是否大于grossBrackets[7]
8次,grossBrackets
中每个元素一次。你真的只需要这样做一次,所以它不需要在循环中。