jsFiddle ->http://jsfiddle.net/rVLN2/1/Javascript 객체 배열을 문자열로 변환 하시겠습니까?
나는 멍청한 행동이다. 나는 스크립트가 비효율적이지만 잘 작동하고있다.
var SatWaterMetric = [
{"T":0,"Psat":0.6117,"vf":0.001,"vg":206,"hf":0.001,"hfg":2500.9,"hg":2500.9},
{"T":5,"Psat":0.8725,"vf":0.001,"vg":147.03,"hf":21.02,"hfg":2489.1,"hg":2510.1},
{"T":10,"Psat":1.2281,"vf":0.001,"vg":106.32,"hf":42.022,"hfg":2477.2,"hg":2519.2},
...................................];
그럼 I는 HTML에서 값을 구해 표에 따른 숫자 값을 보간하는 기능을 갖는다 : I과 같은 객체 어레이 구성을 갖는다.
function interpolate(myval, unit) {
if (unit == "T") {
for (var i=0;i<SatWaterMetric.length;i++) {
if (myval < SatWaterMetric[i].T) {
T_low = SatWaterMetric[i-2].T;
T_high = SatWaterMetric[i-1].T;
Psat_low = SatWaterMetric[i-2].Psat;
Psat_high = SatWaterMetric[i-1].Psat;
vf_low = SatWaterMetric[i-2].vf;
vf_high = SatWaterMetric[i-1].vf;
vg_low = SatWaterMetric[i-2].vg;
vg_high = SatWaterMetric[i-1].vg;
hf_low = SatWaterMetric[i-2].hf;
hf_high = SatWaterMetric[i-1].hf;
hfg_low = SatWaterMetric[i-2].hfg;
hfg_high = SatWaterMetric[i-1].hfg;
hg_low = SatWaterMetric[i-2].hg;
hg_high = SatWaterMetric[i-1].hg;
var factor = (myval - T_low)/(T_high - T_low);
Psatx = (1 * Psat_low) + (1 * factor * (Psat_high - Psat_low));
vfx = (1 * vf_low) + (1 * factor * (vf_high - vf_low));
vgx = (1 * vg_low) + (1 * factor * (vg_high - vg_low));
hfx = (1 * hf_low) + (1 * factor * (hf_high - hf_low));
hfgx = (1 * hfg_low) + (1 * factor * (hfg_high - hfg_low));
hgx = (1 * hg_low) + (1 * factor * (hg_high - hg_low));
Tx = myval;
break;
}
}
$('#txtpsat').val(Math.round(Psatx*100000)/100000);
$('#txtvf').val(Math.round(vfx*10000000)/10000000);
$('#txtvg').val(Math.round(vgx*100000)/100000);
$('#txthf').val(Math.round(hfx*10000)/10000);
$('#txthg').val(Math.round(hgx*100)/100);
$('#txthfg').val(Math.round(hfgx*100)/100);
} else if (unit == "Psat") {
//Repeat everything but for Psat
} else if (unit == "vf") {
//Repeat everything but for vf
} else {}
}
});
이제 "T"를 알고있는 경우에만이 값을 해결할 수 있습니다. 나는 어떤 값을 입력했는지 ("Psat", "vg", "vf"등 ...) 결정할 프로그램을 만들고 그 값을 기반으로 다른 모든 숫자를 평가하려고합니다. 내가 지금이 설정을 가지고있는 방식으로 Psat, vg, vf, hg, hf 및 hfg에 대한 코드를 모두 반복해야합니다. 그것은 매우 비효율적 인 것처럼 보입니다. 이것을 하나의 부드러운 함수로 트리밍하는 방법이 있습니까? .
. jsFiddle ->http://jsfiddle.net/rVLN2/1/
부정적인 인덱스 -> I-2 – zsong
예 부정적인 인덱스입니다. 하지만 그건 내가 묻는 것과 아무런 관련이 없다. – Sanya
OMG, dude,'SatWaterMetric [i-2]'는'undefined'가 될 것이고'SatWaterMetric [i-2] .T'는 지옥에있을 것입니다. 'T'가 알려지지 않은 것이 아니라 코드가 작동하지 않습니다. – zsong