Javascript ESLint错误:在';而';陈述
我有一个设置货币格式的函数:Javascript ESLint错误:在';而';陈述,javascript,while-loop,eslint,eslint-config-airbnb,Javascript,While Loop,Eslint,Eslint Config Airbnb,我有一个设置货币格式的函数: export const formatDollar = (dollar) => { const format = function moneyFormat(val, sign = '$ ') { const pieces = parseFloat(val).toFixed(2).split(''); let ii = pieces.length - 3; while ((ii -= 3) > 0) { pieces
export const formatDollar = (dollar) => {
const format = function moneyFormat(val, sign = '$ ') {
const pieces = parseFloat(val).toFixed(2).split('');
let ii = pieces.length - 3;
while ((ii -= 3) > 0) {
pieces.splice(ii, 0, ',');
}
return sign + pieces.join('');
};
return format(dollar);
};
此部件导致ESLint错误:
while((ii-=3)>0){
件.拼接(二,0,,);
}
“while”语句中的意外分配错误无条件分配
如何编写此语句以使ESLint检查通过?表达式
ii-=3
相当于ii=ii-3
,可以替换为ii-3>0
。但是,因为在这种情况下,它不再修改变量ii
。您需要在循环中显式地减少它。所以你可以这样重写它:
while (ii > 3) { // or ii - 3 > 0
ii = ii - 3;
pieces.splice(ii, 0, ',');
}
两项测试:
const formatDollar=(美元)=>{
常量格式=函数moneyFormat(val,符号=“$”){
const pieces=parseFloat(val).toFixed(2).split(“”);
设ii=件。长度-3;
而(ii>3){
ii=ii-3
件.拼接(二,0,,);
}
返回标志+件。连接(“”);
};
返回格式(美元);
};
控制台日志(格式化美元(12345678))
控制台日志(格式化美元(12345))
控制台日志(格式美元(12))
console.log(formatDollar(.12))
表达式ii-=3
相当于ii=ii-3
,可以替换为ii-3>0
。但是,因为在这种情况下,它不再修改变量ii
。您需要在循环中显式地减少它。所以你可以这样重写它:
while (ii > 3) { // or ii - 3 > 0
ii = ii - 3;
pieces.splice(ii, 0, ',');
}
两项测试:
const formatDollar=(美元)=>{
常量格式=函数moneyFormat(val,符号=“$”){
const pieces=parseFloat(val).toFixed(2).split(“”);
设ii=件。长度-3;
而(ii>3){
ii=ii-3
件.拼接(二,0,,);
}
返回标志+件。连接(“”);
};
返回格式(美元);
};
控制台日志(格式化美元(12345678))
控制台日志(格式化美元(12345))
控制台日志(格式美元(12))
console.log(格式化美元(.12))