首页 > 解决方案 > 使用csv文件的java脚本函数

问题描述

我正在尝试使用 Javascript 上传 csv 文件并找到所有具有矛盾权限的名称,我得到了未定义的 - csv 文件包括人名和权限,目的是识别冲突。csv 文件包含:查看人员的图片名称和第 4 列中我成功运行文件的权限以及包含所有人员详细信息的输出数组

conflicts=
[

["Bills", "Invoice"],
["Bills", "Accounts"]
]


function check(permissionA,permissionB,col1){
    var listofconflicta=[];
     var listofconflictb=[];
     var conflictintersection=[];

    for (var i = 0; i < col1.length; i++) {


     if((col1[i])[4]==permissionA){


     listofconflicta.push((col1[i])[0]);
    }

    else if((col1[i])[4]==permissionB){
       listofconflictb.push((col1[i])[0]);

}


     else{
        //

     }
     //remove
     //console.log(a3);
     //console.log(a2);
     if(listofconflicta){
     for (var i = 0; i < listofconflicta.length; i++) {
 if (listofconflictb.includes(listofconflicta[i]) ){
 conflictintersection.push(a3[i]);
 }
  }

 }

 }
  return conflictintersection;
 }




function processFile(){
  var file = document.querySelector('#myFile').files[0];
  var reader = new FileReader();
  reader.readAsText(file);


  //When the file finish load
  reader.onload = function(event) {

    //get the file.
    var csv = event.target.result;

    //split and get the rows in an array
    var rows = csv.split('\n');

     const a1=[];
     const a2=[];
     const a3=[];
     const a4=[];
    //move line by line
    for (var i = 1; i < rows.length; i++) {
      //split by separator (,) and get the columns
      cols = rows[i].split(',');
      a1.push(cols);


     }
     var col1=[];
     var col2;

     for (var i = 1; i < a1.length; i++) {
      col2 = (a1[i]).slice(1,6);
     if (col2 && col2.length) {
      col1.push(col2);

   // not empty
} else {
   // empty
}



      }


      // loop the conflicts
var permissionA;
var permissionB;
for (var i = 0; i < conflicts.length; i++) {
permissionA=(conflicts[i])[0];
permissionB=(conflicts[i])[1];
console.log(check(permissionA,permissionB,col1))



}






  }
 return ("end")
  }

标签: javascriptfunctionloopscsv

解决方案


推荐阅读