繁体   English   中英

遍历JS对象数组以获取特定属性

[英]Loop through JS Object Array for specific properties

我已经看过一些有关堆栈溢出的问题的现有示例,但是我一直在获取“ Undefined”,似乎遍历了数组中的每个单个字符。

我不太确定如何停止此操作,因此我可以将其打印出来,并带有属性“名称”

CSV范例:

[{"Extension":"071","Company Name":"test1","Name":"Iron"},{"Extension":"072","Company Name":"test2","Name":"Blue"},{"Extension":"073","Company Name":"test3","Name":"Bloggs"},{"Extension":"074","Company Name":"test4","Name":"Best"},{"Extension":"075","Company Name":"test5","Name":"Green"}]

客户端代码:

$( "#CSV-Upload" ).click(function() {
$("input[type=file]").parse({
    config: {
    header: true,
    skipEmptyLines: true,
    complete: function(results, file) {
                    console.log("This file done:", file, results);
                    var string = JSON.stringify(results['data']);
                    result.push(string);
                    console.log("CSV Array: " + string);
                    socket.emit('CSVSQL', string);
              }
    },
    complete: function() {
        console.log("All files done!");
    }
});
    $("#csv-file").val('');
});

服务器端代码:

function CSVSQL(csvdata) {
    if (csvdata.length > 0) {
      console.log('Current CSV data Information: \n');
      console.log(csvdata);
  for (var j = 0; j < csvdata.length; j++){
  console.log(csvdata[j].Name);
}
    } else {
      console.log('No data in that CSV file :-( \n');
    };
  }

io.sockets.on('connection', function (socket) {
    socket.on('CSVSQL', function (csvdata) {
      CSVSQL(csvdata);
    });
  });

谁能解释我哪里出了问题并提供建议?

我不太确定如何停止此操作,因此我可以将其打印出来,并带有属性“名称”

csvdata是一个string ,它还不是一个Object。

通过执行将其转换为对象

if (csvdata.length > 0) 
{
   csvdata = JSON.parse( csvdata ); //parse it into JSON by doing JSON.parse
   console.log('Current CSV data Information: \n');
   console.log(csvdata);
   for (var j = 0; j < csvdata.length; j++)
   {
        console.log(csvdata[j].Name);
   }
} 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM