在CoffeeScript中将元素添加到有序数组中

Loo*_*urr 2 javascript arrays coffeescript

我有一个排序数组,我在服务器给他的时候添加了元素.我遇到的麻烦是确定放置新元素的位置,然后将其放在同一个循环中

在javascript中,这看起来像这样

for(var i = 0; i < array.length; ++i){
   if( element_to_add < array[i]){
      array.splice(i,0,element_to_add);
      break;
   }
}
Run Code Online (Sandbox Code Playgroud)

问题是在咖啡脚本中我没有访问计数器,所以我不能告诉它将我的数组拼接在所需的索引上.

如何在CoffeeScript中向已排序的数组中添加元素?

Ble*_*der 5

默认for循环也返回索引:

a = [1, 2, 3]
item = 2

for elem, index in a
    if elem >= item
        a.splice index, 0, item
        break
Run Code Online (Sandbox Code Playgroud)

您可能希望进行二进制搜索.