首页 > 解决方案 > 制作一个将数字放在数组中间的函数

问题描述

我对 JavaScript 真的很陌生,我一直在努力使用这段代码进行测试以进入编码训练营。我想知道是否有人可以提供任何帮助?

function putInTheMiddle(array, item) {
  for (i = 0; i < 20; i++) {
    let Middle = Floor.Math(array / 2);
    array.slice(Middle, 0, item);
  }

  console.log putInTheMiddle([1, 3], 2);
  console.log putInTheMiddle([1, 2, 4, 5], 3);
}

我希望它分别打印出数组[1, 2, 3][1, 2, 3, 4, 5]

标签: javascriptarraysfunction

解决方案


您不需要循环,它将插入数字 20 次。

获取值的下限的函数是Math.floor(),不是Floor.Math()

您需要将数组的长度除以 2,而不是数组本身。

函数在原地修改数组,但是如果要console.log()在调用函数时能够调用,还需要返回数组。

您需要使用该splice()方法插入到数组中。slice()只提取数组的一部分而不进行修改。

您需要在 的参数周围加上括号console.log(),这需要在函数定义之外。

function putInTheMiddle(array, item) {
  let Middle = Math.floor(array.length / 2)
  array.splice(Middle, 0, item);
  return array;
}

console.log(putInTheMiddle([1, 3], 2));
console.log(putInTheMiddle([1, 2, 4, 5], 3));


推荐阅读