簡體   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