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