如何在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 ); 
Interesting Posts