在 Javascript 中解析 CSV 数据

发布于 2024-09-06 08:48:52 字数 577 浏览 2 评论 0原文

我有一个像这样的字符串:

138374:order1,738437:order2,927438:order3

我正在做一个循环,用逗号分割订单 (,)

我该如何分割它进一步通过冒号(:) 生成订单号和订单名称。

下面是代码:

function(getOrders) {
  var completeOrderRequest = getOrders.split(',');
  for(var j=0; j < orderRequest.split(',').length; j++) {
    alert(completeOrderRequest[j]);
    var nameOrderIds = completeOrderRequest[j].split(':');

    alert("OrderNumber: "+nameOrderIds[0]);
    alert("Name : "+nameOrderIds[1]);
  }  
}   

现在它给了我 orderNumber 0

I have a string like this:

138374:order1,738437:order2,927438:order3

I am doing a loop to split orders by comma (,)

How do I split it further by colon(:) to yield the order number and order name.

Below is the code:

function(getOrders) {
  var completeOrderRequest = getOrders.split(',');
  for(var j=0; j < orderRequest.split(',').length; j++) {
    alert(completeOrderRequest[j]);
    var nameOrderIds = completeOrderRequest[j].split(':');

    alert("OrderNumber: "+nameOrderIds[0]);
    alert("Name : "+nameOrderIds[1]);
  }  
}   

Right now its giving me orderNumber 0.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

寂寞清仓 2024-09-13 08:48:52
function getOrders( orderString) {
   var orders = orderString.split(','); // create array of ordernumber:name combos
   for( var i=0; i < orders.length; i++) { // use length of above array, not a split again
      var entry = orders[i].split(':'); // now break each combo into it's own array
      alert( "OrderNumber: " + entry[0] );
      alert( "Name: " + entry[1] );
   }
}

演示:http://jsfiddle.net/MDNmF/

function getOrders( orderString) {
   var orders = orderString.split(','); // create array of ordernumber:name combos
   for( var i=0; i < orders.length; i++) { // use length of above array, not a split again
      var entry = orders[i].split(':'); // now break each combo into it's own array
      alert( "OrderNumber: " + entry[0] );
      alert( "Name: " + entry[1] );
   }
}

demo: http://jsfiddle.net/MDNmF/

眼眸里的那抹悲凉 2024-09-13 08:48:52

这是一个应该更像您正在寻找的函数:

function(getOrders) {
  var completeOrderRequest = getOrders.split(',');
  for(var j=0; j < completeOrderRequest.length; j++) {
    var idsAndNames = completeOrderRequest[j].split(':');
    alert("OrderNumber: "+idsAndNames[0]);
    alert("Name : "+idsAndNames[1]);
  } 
}   

Here is a function that should be more like what you're looking for:

function(getOrders) {
  var completeOrderRequest = getOrders.split(',');
  for(var j=0; j < completeOrderRequest.length; j++) {
    var idsAndNames = completeOrderRequest[j].split(':');
    alert("OrderNumber: "+idsAndNames[0]);
    alert("Name : "+idsAndNames[1]);
  } 
}   
带刺的爱情 2024-09-13 08:48:52

orderRequest.split(',') 中的 orderRequest 来自哪里?应该改为:

for (var j = 0; j

如果是这样,这意味着您要进行两次拆分,这是行不通的,因为您正在拆分相同的角色。

Where is the orderRequest in the orderRequest.split(',') coming from?? should this be instead:

for (var j = 0; j < completeOrderRequest.split(',').length; j++)

If so, that means you are doing a split twice, which would not work because you are splitting on the same character.

脸赞 2024-09-13 08:48:52

什么是订单请求?

var getOrders = "138374:order1,738437:order2,927438:order3,";

var completeOrderRequest = getOrders.split(",");

for(i = 0; i < completOrderRequest.length; i++){
   var nameOrderIds = completeOrderRequest[j].split(':');
   alert("OrderNumber: "+nameOrderIds[0]);  
   alert("Name : "+nameOrderIds[1]);    
}

what is orderRequest?

var getOrders = "138374:order1,738437:order2,927438:order3,";

var completeOrderRequest = getOrders.split(",");

for(i = 0; i < completOrderRequest.length; i++){
   var nameOrderIds = completeOrderRequest[j].split(':');
   alert("OrderNumber: "+nameOrderIds[0]);  
   alert("Name : "+nameOrderIds[1]);    
}
落花随流水 2024-09-13 08:48:52

请注意var 提升。 Javascript 没有块作用域变量,只有函数作用域变量;在您的代码中,nameorderIDs 实际上是在 completeOrderRequest 下面定义的。

Be aware of var hoisting. Javascript doesn't have block-scope variables, only function-scope ones; in your code, nameorderIDs is actually defined just below completeOrderRequest.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文