플로트 배열을 반복해야하는 프로젝트가 있습니다. 이 프로젝트의 목적은 각 개별 플로트를이 특정 형식 인 ".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();
});
다음 이동 또는 내가 무엇을 놓치고 것은 크게 감상 할 수있는 위치에 대한 어떤 제안이! 감사!
당신은, 새로운 배열에'arrayElement'를 밀어 포맷터'에서 배열을 반환 할 수()'몇 가지 단계에 대한'arrayElement' 이외의 다른 변수를 사용하는 – guest271314
내 희망을 호출합니다. 'parseInt()를 사용하면'.toPrecision()'에 대해서만 정수,'0' 또는'1' 만 남기고 10 진수 값은 제거 할 것입니다. –
여기서 "형식"이 의미하는 것이 명확하지 않습니다. 예를 들어, "포맷팅"이 숫자를 표시 할 문자열로 변환한다는 의미가 아니라면 float의 선행 0을 "포맷"할 수 없습니다. 그게 의미하는 것이면, 먼저 각 숫자를 문자열로 형식화하고 그 부분에서 그런 식으로 조작하십시오. – kinakuta