A função de p50 no livro
totalPrice () { var total = 0 ; for ( var i = 0; i < este comprimento .list; i ++ ) { var item = this. list [i]; total + = item.price * item.count; } retorna total.toString (). replace (/ \ B (? = (\ d {3}) + $) / g, ',' ); }
Há uma expressão regular em:
(/ \ B (? = (\ D {3}) + $) / g, ',')
A análise é a seguinte:
\ B, ou seja, o lado esquerdo é um limite que não é uma palavra, ou seja, é correspondido em toda a cadeia.
(? = Indica que esta é uma ordem positiva, por exemplo, a subexpressão pode corresponder ao texto à direita
(\ d {3}) +, o que significa que ele deve corresponder a um número de 3 dígitos, e o sinal + significa que ele corresponde a um número incontável
O símbolo $ indica o fim da sequência.
Todo o regular significa que, começando no final da string, toda vez que um espaço antes de três dígitos for encontrado, uma vírgula é inserida no espaço.
Veja a captura de tela para o efeito: