[英]Why is .splice(1, 0, '.') returning an empty array? (Javascript)
这是我的代码:
let num = 0.0134; console.log(num.toString().split('').splice(3).splice(1, 0, '.'))
console.log 返回一个空数组。
我希望它返回“1.34”。 我究竟做错了什么?
如果您在mdn上看到Array.prototype.splice
的参考:
splice() 方法通过删除或替换现有元素和/或在适当位置添加新元素来更改数组的内容
返回值:包含已删除元素的数组。
在您的代码末尾,当您执行.splice(1, 0, '.')
时,它会删除 0 个元素,因此它将返回一个空数组。
我假设你想用'.'
获取前一个数组。 元素插入第一个 position。 为此,您需要执行以下操作:
const arr = num.toString().split('').splice(3);
arr.splice(1, 0, '.');
console.log(arr)
如果你想把它加入一个字符串,只需使用arr.join('')
无论如何,对于您的用例,您可以只使用*
乘法运算符,而不是转换为字符串数组并尝试对其进行操作。
你可以简单地做:
let num = 0.0134;
console.log(num * 100);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.