您的当前位置:首页正文

20160526

来源:华佗小知识

明天不用带饭啦

var sort = function(array) {

  for(let i = 0, j = array.length-1; i<j; ) {
    while (i < j && array[i] === '*') {
      i++;
    }
    while (i < j && array[j] !== '*') {
      j--;
    }
    if (i < j) {
      [array[i++], array[j--]] = [array[j], array[i]];
    }
  }
  return array;
};

就是遇到了交换的坑。CC++写函数是可以选择传值还是传址。一个交换函数

void swap(int *p1, int *p2)
{
    int temp = 0; 
    temp = *p1;
    *p1 = *p2;
    *p2 = temp;
}

到javascript里就呵呵了。哪有传递引用?搜了一遍没找到太晚了先记下,投机取巧用了ES6解构赋值[a, b] = [b, a];所以最后连一个简单的交换函数都实现不了我要去睡觉了。。。