繁体   English   中英

为什么 is.splice(1, 0, '.') 返回一个空数组? (Javascript)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM