使用JavaScript数组const arr = ['99.9999%',null, '0', 123.1234]保留两位小数,要求:%必须保留,使用if判断
时间: 2023-11-27 11:51:25 浏览: 127
JavaScript 实现保留两位小数
可以使用数组的map方法来遍历数组中的每一个元素,并使用if语句对元素进行判断,然后使用toFixed方法来保留两位小数。代码如下:
```
const arr = ['99.9999%', null, '0', 123.1234];
const newArr = arr.map((item) => {
if (typeof item === 'string' && item.includes('%')) {
// 如果是字符串并且包含%符号,则去掉%符号并转换为数字,再保留两位小数
return (parseFloat(item.replace('%', '')) * 100).toFixed(2) + '%';
} else if (typeof item === 'number') {
// 如果是数字,则保留两位小数
return item.toFixed(2);
} else {
// 其他情况直接返回原值
return item;
}
});
console.log(newArr); // ['9999.99%', null, '0.00', '123.12']
```
这里使用了三元运算符来简化代码,如果要使用if语句,则可以写成:
```
const arr = ['99.9999%', null, '0', 123.1234];
const newArr = arr.map((item) => {
if (typeof item === 'string' && item.includes('%')) {
// 如果是字符串并且包含%符号,则去掉%符号并转换为数字,再保留两位小数
const num = parseFloat(item.replace('%', '')) * 100;
if (isNaN(num)) {
// 如果转换后为NaN,则直接返回原值
return item;
} else {
return num.toFixed(2) + '%';
}
} else if (typeof item === 'number') {
// 如果是数字,则保留两位小数
return item.toFixed(2);
} else {
// 其他情况直接返回原值
return item;
}
});
console.log(newArr); // ['9999.99%', null, '0.00', '123.12']
```
阅读全文