我想实现以下目标。如何获得所需的输出如下?
var arr=["1.00","-2.5","5.33333","8.984563"]
Desired output: arr=["1","-2","5","8"]
and vice-versa float to int.
答案 0 :(得分:1)
您可以保存标志,将地板应用于绝对值,将标志放回并将结果转换为字符串。将整个内容映射到一个新数组。
反之亦然不起作用,因为您在使用整数时丢失了信息。
var array = ["1.00", "-2.5", "5.33333", "8.984563"],
result = array.map(v => ((v >= 0 || -1) * Math.floor(Math.abs(v))).toString());
console.log(result);
答案 1 :(得分:0)
var arr=["1.00","-2.5","5.33333","8.984563"]
arr.forEach(function (item, index, array) {
array[index] = parseInt(item)
})
答案 2 :(得分:0)
var arr=["1.00","-2.5","5.33333","8.984563"]
var output = arr.map(n => Math[n < 0 ? "ceil":"floor"](n).toString() )
console.log( output )
使用Math.ceil()
为负数舍入到最接近零的值,使用Math.floor()
舍入为正数。