如何在jquery中将一个arraylist分成两个变量
我正在使用ajax调用从服务器端检索值,这里是从服务器端检索到的arraylist的格式。
[INCOMING,0,INETCALL,0,ISD,31.8,LOCAL,197.92,STD,73.2]
现在根据我的需要,我必须在这两个变量中打破这个arraylist ..
var toc = INCOMING,INETCALL,ISD,LOCAL,STD
var callcost = 0,0,31.8,197.92,73.2
我正在尝试使用for循环,但我没有得到确切的逻辑…
这是我的代码..
$(function () { $.ajax({ type: 'GET', url: 'getdata', async: false, dataType: "text", success: function (data) { var values = []; values = data; values = values.replace('[', ''); values = values.replace(']', ''); var array = values.split(","); for (var i in array) { } } }); });
请大家帮帮我 提前致谢。
尝试使用$ .isNumeric()之类的,
var arr=['INCOMING',0,'INETCALL',0,'ISD',31.8,'LOCAL',197.92,'STD',73.2]; var str=[], num=[]; for(var i=0,len=arr.length;i
演示
首先,数据似乎已经是一个数组,只需解析它
var array = JSON.parse(data);
或者,如果您也可以控制服务器端代码,则使其返回json-data而不是纯文本。 这样它的数组就可以在传入回调时使用了!
如果要在循环中获取所有数字,请使用isNumeric,如果是其他所有数字,则在索引上执行%1,即:
var a1 = []; var a2 = []; for(var i=0;i
检查这个小提琴http://jsfiddle.net/2sGjZ/
var myArray = ['INCOMING','0','INETCALL','0','ISD','31.8','LOCAL','197.92','STD','73.2']; var tocArr = new Array(); var callcostArr = new Array(); var j = 0; var k= 0; for ( var i = 0; i < myArray.length; i = i + 1 ) { if(i % 2 == 1){ tocArr[j] = myArray[ i ]; j++; }else{ callcostArr[k] = myArray[ i ]; k++; } } var toc = tocArr.toString(); var callcost = callcostArr.toString(); alert( toc ); alert( callcost );