実行コード
remove_comma.js
'use strict';
let count = 1000000, num;
// Split-Join
for(let i = 0; i < count; i++) {
num = Number('1,000'.split(',').join(''));
}
// Replace
for(let i = 0; i < count; i++) {
num = Number('1,000'.replace(/,/g, ''));
}
// Split-Join(3 commas)
for(let i = 0; i < count; i++) {
num = Number('1,000,000,000'.split(',').join(''));
}
// Replace(3 commas)
for(let i = 0; i < count; i++) {
num = Number('1,000,000,000'.replace(/,/g, ''));
}
結果(参考)
私の環境では
Chrome DevToolの場合
Split-Join | Replace | Split-Join(3 commas) | Replace(3 commas) |
---|---|---|---|
4424.411ms | 4058.820ms | 3918.996ms | 4146.879ms |
Node.jsの場合
Split-Join | Replace | Split-Join(3 commas) | Replace(3 commas) |
---|---|---|---|
214ms | 203ms | 299ms | 311ms |
となりました。
カンマが少ない場合はReplaceで、カンマが多い場合はSplit-Joinが早いみたいです。
Nodeの場合、誤差レベルっぽいですが。
ちなみにChrome上での使用が目的のため、Nodeは参考程度に実行しただけです。
間違えてる、こっちのほうが早いよ等ありましたら教えて下さい!!