Commit a7e7600a authored by l2m2's avatar l2m2

upload

parent 8864a803
var _ = require("lodash");
var getEr = function(iDielectricConst, iImpedanceHz) {
iDielectricConst = _.toString(iDielectricConst);
if (iDielectricConst == '') {
return 0;
}
if (!/=/.test(iDielectricConst)) {
return _.toNumber(iDielectricConst);
}
var _hz = function(v) {
if (/g/i.test(v)) {
return _.toNumber(v.replace(/g/i, '')) * 1000 * 1000;
} else if (/m/i.test(v)) {v
return _.toNumber(v.replace(/m/i, '')) * 1000;
} else {
return _.toNumber(v);
}
};
var options = iDielectricConst.split(';');
return _.chain(options)
.filter(function(item){ return item.split('=').length == 2; })
.reduce(function(prev, curr) {
var temp = curr.replace(/^\s+|\s+$/g, '').split('=');
var diff = Math.abs(_hz(iImpedanceHz) - _hz(temp[0]));
if (prev.diff == -1 || diff < prev.diff) {
prev.diff = diff;
prev.value = _.toNumber(temp[1]);
}
return prev;
}, { diff: -1 })
.value().value;
}
var r = getEr("1G=4.15;2G=4.5", "1.49G");
print("r = ", r);
r = getEr("4.3", "2G");
print("r = ", r);
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment