이 질문은 이전 질문 중 하나와 비슷합니다 (removing objects in an object in an array javascript). 그러나 숫자 만있는 대신 실제 값으로 "NaN"이있는 복잡한 숫자가 있습니다. 큰 숫자와 Mathj를 사용하고 있기 때문에 이런 일이 발생할 수 있다고 생각했지만 다른 모든 값은 이미 소수점 이하 15 자리로 흘러 들었습니다. 반환되는 배열 froma의 CONSOLE.LOG (realPowers)는 콘솔 로그에 다음과 같습니다복잡한 배열 자바 스크립트에서 실제 값만 표시
0:0
1:91.51069578156118
2:183.02210760273937
3:277.73380284266796
4:376.47588381083307
5:481.85928667762994
6:599.6533611633058
7:752.8633763048005
8:Complex {re: NaN, im: -0.015021590179814361}
9:Complex {re: NaN, im: -0.029563247908981544}
10:Complex {re: NaN, im: -0.047829041780228475}
코드의 첫 번째 줄 아래 복소수의 실제 값을 반환해야하기 때문에이 흥미 롭다. 나는 소수 자릿수의 수를 줄이기 위해에서는 toFixed 방법을 사용하여 for 루프로이 값을 공급하기 위해 노력하고 있어요 : totalPower 원래 배열입니다
var realPowers = results.totalPower.map((x) => x && x.re ? x.re :x);
function fixPowers(realPowers) {
var k,fixedPower,powerToFix
for (k=0,fixedRealPowers=[]; k < realPowers.length; k++) {
powerToFix = realPowers[k];
fixedPower = powerToFix.toFixed(3);
fixedRealPowers.push(fixedPower);
}
return fixedRealPowers
};
합니다. 하지만 그렇게하면 오류가 반환됩니다 :
toFixed를 문자열에 사용할 수 없기 때문에 (저는 가정합니다).
0:0
1:91.51069578156118
2:183.02210760273937
3:277.73380284266796
4:376.47588381083307
5:481.85928667762994
6:599.6533611633058
7:752.8633763048005
8:NaN
9:NaN
10:NaN
내가 실수에 대한 소수의 수를 줄이고이 동일하거나 유사한 방법을 사용하여 복잡한 숫자 만 NaN이 부분을 유지할 수 있습니다 :이처럼 보이는 배열을 만들려고 노력하고
?
당신은 "복잡한 숫자의 유지에만 NaN이 부분"에 의해 무엇을 의미합니까? 당신은 당신의 질문을 수정하고, 당신의 견본을 추가 할 수 있습니까? – user184994
'fixPowers()'에 대한'totalPower' 인수의 목적은 무엇입니까? 함수 내에서 변수를 사용하지 마십시오. – Barmar
오류가 발생하면'console.log (powerToFix);'는 무엇을 표시합니까? – Barmar