我对 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]
。
最佳答案
您不需要循环,它将插入数字 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));
关于javascript - 创建一个将数字放在数组中间的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55700228/