簡體   English   中英

Javascript數組整數數組格式

[英]Javascript Array Integer Array Format

我有一個項目,我需要遍歷浮點數數組。 該項目的目的是將每個浮點數格式化為此特定格式“ .XXX”,其中X是數字。 如果數字以0開頭,則應將其省略。 例如: 0.2867應該被格式化為.286或者如果您有一個像1.2這樣的數字,那么它應該被格式化為1.200 如果數組中的元素不是數字,例如說“-”,則應將其格式化為.000

以下是到目前為止我對該項目的代碼,但是我被困住了:

$( document ).ready(function() {

var statsArray = [0.2867, 0.833, 1.576, 0.19, 0.688, 0.22, 0.572, .167, 0.643, 0.921, "-", "-", 0.222, 1.466789, 0.1, 0.714, 1.115];

function formatter()
{
    var numElements = statsArray.length;

    for (var m=0; m <= numElements; m++) 
    {
        var arrayElement = statsArray[m];

        console.log ("original element is " + arrayElement);

        arrayElement = parseInt(arrayElement, 10);

        console.log ("after parseInt element is " + arrayElement);

        arrayElement = arrayElement.toPrecision(3);

        console.log ("after toPrecision element is " + arrayElement);

    }
}

formatter();

});

任何關於下一步或我所缺少的建議都將不勝感激! 謝謝!

嘗試這個:

var statsArray = [12.2,0.2867, 0.833, 1.576, 0.19, 0.688, 0.22, 0.572, .167, 0.643, 0.921, "-", "-", 0.222, 1.466789, 0.1, 0.714, 1.115];

statsArray = statsArray.map(function(number){
    number = Number(number).toFixed(3);

    if(number === 'NaN') return '.000';

    return number[0] === '0'? number.slice(1) : number
});
console.log(statsArray);

有效的Codepen: http ://codepen.io/gpincheiraa/pen/oLjPvX

您可以使用isNaN來檢查"-" 刪除parseInt=<=運算符處; 創建一個將值推入的數組,從formatter()返回數組。

編輯,更新

也如@JonathanLonowski所建議,嘗試將.toFixed()替換為.toPrecision()以返回預期結果。

 var statsArray = [0.2867, 0.833, 1.576, 0.19, 0.688, 0.22, 0.572, .167, 0.643, 0.921, "-", "-", 0.222, 1.466789, 0.1, 0.714, 1.115]; function formatter(arr) { for (var m = 0, res = []; m < arr.length; m++) { var arrayElement = statsArray[m]; console.log("original element is " + arrayElement); if (!isNaN(arrayElement)) { res.push(arrayElement.toFixed(3)) } else { if (arrayElement === "-") { res.push(".000") } } } return res } var result = formatter(statsArray); console.log(result) 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM