javascript - 制作一个将数字放在数组中间的函数
问题描述
我对 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));
推荐阅读
- angular - Angular 8 Jasmine 间谍和不同类型的 returnValue
- javafx - RichTextFX,部分文档内容只读
- python - 一次更改所有子图的线型
- javascript - 我无法将具有动态参数的函数分配为元素的“onclick”
- linux - 如何用另一个文件临时屏蔽只读文件系统中的文件?
- python - 包含数字的列表
- android - Flutter Driver 测试超时
- hive - Hive 在字符串列中将 Null 转换为空字符串
- ios - 由于某种原因,Firebase 云消息传递根本无法在 IOS 上运行
- amazon-s3 - Cloud Formation 将多个 S3 触发器添加到 LambdaConfigurations 中的同一个 S3 存储桶