每日一题 - duplicate 
信息卡片 
- 时间:2019-07-22
- tag:Array
题目描述 
完成duplicate函数,  使之功能复合duplicate([1,2,3,4,5]); // [1,2,3,4,5,1,2,3,4,5]完成duplicate函数,  使之功能复合duplicate([1,2,3,4,5]); // [1,2,3,4,5,1,2,3,4,5]参考答案 
js
function duplicate(list) {
  const len = list.length;
  for (let i = len; i < len * 2; i++) {
    list[i] = list[i - len];
  }
  return list;
}function duplicate(list) {
  const len = list.length;
  for (let i = len; i < len * 2; i++) {
    list[i] = list[i - len];
  }
  return list;
}扩展 
完成 duplicate 函数, 使之功能复合 duplicate([1,2,3,4,5]); // [1,1,2,2,3,3,4,4,5,5]完成 duplicate 函数, 使之功能复合 duplicate([1,2,3,4,5]); // [1,1,2,2,3,3,4,4,5,5]参考代码:
js
function duplicate(list) {
  let slow = list.length - 1;
  let fast = list.length * 2 - 1;
  let cnt = 0;
  while (slow < fast) {
    list[fast] = list[slow];
    if (cnt % 2 === 1) {
      slow--;
    }
    fast--;
    cnt++;
  }
  return list;
}function duplicate(list) {
  let slow = list.length - 1;
  let fast = list.length * 2 - 1;
  let cnt = 0;
  while (slow < fast) {
    list[fast] = list[slow];
    if (cnt % 2 === 1) {
      slow--;
    }
    fast--;
    cnt++;
  }
  return list;
}