我有以下XML文档
var xml = '<t0><t1><t20>6267</t20></t1><t1><t20>556</t20></t1></t0>';如何计算差值为(6267-556)并将其数组推送
var myarray = [];
var xml = '<t0><t1><t20>6267</t20></t1><t1><t20>556</t20></t1></t0>';
xmlDoc = $.parseXML(xml),
$xml = $(xmlDoc),
$(xml).find('t1').each(function () {
var difference = $(this).find('t20').text();
});http://jsfiddle.net/pLxsd4xt/
发布于 2015-01-22 04:59:06
var myarray = [];
var xml = '<t0><t1><t20>6267</t20></t1><t1><t20>556</t20></t1></t0>';
$xml = $($.parseXML(xml));
var a = $(xml).find('t20').eq(0).text();
var b = $(xml).find('t20').eq(1).text();
myarray.push(a-b);
console.log(myarray);发布于 2015-01-22 05:01:32
有很多种方法可以做到这一点,下面是其中一种(它将从第一个值开始子跟踪所有其他t20值,因此您不会被限制为两个数字):
var myarray = [];
var xml = '<t0><t1><t20>6267</t20></t1><t1><t20>556</t20></t1></t0>';
var difference = false;
$(xml).find('t1').each(function () {
if (difference === false) { // compare by type in case first num is 0
difference = $(this).find('t20').text(); // assign the first number
} else {
difference -= $(this).find('t20').text(); // subtract the others
}
});
myarray.push(difference);
alert('The difference is: ' + difference);<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
发布于 2015-01-22 05:03:35
如前所述,有很多种方法,所以这里有另一种方法。FIDDLE
var myarray = [];
var xml = '<t0><t1><t20>6267</t20></t1><t1><t20>556</t20></t1></t0>';
var difference = null;
xmlDoc = $.parseXML(xml),
$xml = $(xmlDoc),
$(xml).find('t1').each(function () {
var to_subtract = parseInt($(this).find('t20').text());
difference = (difference == null ? to_subtract : difference - to_subtract);
});
console.log(difference);
console.log(Math.abs(difference));https://stackoverflow.com/questions/28076630
复制相似问题