js实现千位分隔符

在项目开发中需要js实现千位分隔符来分割一个整数,比如我想将数字 1234567 显示为“1,234,567”。我该怎么实现呢?

方法一、利用循环

function numberWithCommas(x) {
    x = x.toString();
    var pattern = /(-?\d+)(\d{3})/;
    while (pattern.test(x))
        x = x.replace(pattern, "$1,$2");
    return x;
}
numberWithCommas(12312124545);//'12,312,124,545'

方法二、toLocaleString

var num = 12345.1234
num.toLocaleString();//'12,345.123'

方法三、 Intl.NumberFormat

const number = 123456.789
const formatter = new Intl.NumberFormat()
console.log(formatter.format(number)) // 123,456.789