基于javascript的数据分类

基于javascript的数据分类,javascript,classification,Javascript,Classification,我有大数据,需要用javascript对它们进行分类 使用脚本: URL将添加到每个车型 对于同一车型,应使用相同的URL 当URL将被重复时,此行的当前URL应向下移动以用于下一车型 我们有解决第一和第二个问题的脚本。现在我们要解决第三个问题,请帮忙 以下是一些数据: <p id="demo0"><span id="ayd0">toyota</span></p> <p id="demo1"><span id="a

我有大数据,需要用javascript对它们进行分类

使用脚本:

URL将添加到每个车型

对于同一车型,应使用相同的URL

当URL将被重复时,此行的当前URL应向下移动以用于下一车型

我们有解决第一和第二个问题的脚本。现在我们要解决第三个问题,请帮忙

以下是一些数据:

    <p id="demo0"><span id="ayd0">toyota</span></p>
    <p id="demo1"><span id="ayd1">hyundai</span></p>
    <p id="demo2"><span id="ayd2">nissan</span></p>
    <p id="demo3"><span id="ayd3">honda</span></p>
    <p id="demo4"><span id="ayd4">toyota</span></p>
    <p id="demo5"><span id="ayd5">hyundai</span></p>
    <p id="demo6"><span id="ayd6">lexus</span></p>
    <p id="demo7"><span id="ayd7">porsche</span></p>
它解决了第一个问题

它解决了第二个问题


我们无法解决第三种情况,但这对我们非常重要,请提供建议,帮助我们。

据我所知,您有一个带有id和链接的车型列表

您要按车型对该列表组进行排序,并且每个车型必须具有相同的链接

如果可以的话

  //you can get this data from backend via ajax
  var myCarModel = [
                     {id:0, name:'toyota'},
                     {id:1, name:'hundai'},
                     {id:2, name:'nissan'},
                     {id:3, name:'toyota'}
                     //...
                   ]
  var urles = ["link1","link2","link3","link4","link5","link6","link7","link8"];

  //now you need may models and urls
  //however, how you chose url for model?
  //for example

  var mapedLink = [];
  for(var i=0; i< myCarModel.length; i++){
      var exist = checkExist(myCarModel[i]) //check car model already listed
       var model = checkExist(model);
       if(exist)
          model.link = exist.link;
       else
          model.link = urles[i];
       if(exist)
          mapedLink.splice(exist.index + 1, 0, model); //insert new model after exist model
       else
          mapedLink.push(model); //inser end of the array
  }

  //now you can render your object to html
 var myHtml = '';
 for(var i=0; i< mappedLink.length; i++){
   var model = mappedLink[i];
    myHtml +='<p id="demo'+ model.id +'"><span id="ayd' + model.id +'" class="urlaydi' + model.id + ' ' + model.link + '">'+ model.name +'</span></p>'
 }
 var mycontainer =  document.getElementById("mycontainerid");
 mycontainer.innerHTML = myHtml;
  function checkExist(model){
     if(mappedLink.length){
         var exist = false;
         for(var i=0; i< mappedLink.length; i++){
              if(model.id == mappedLink[i].id){
                  exist = {index:i, url:model.link};
                  return exist;
               }
         }
        return false;
     }
     else
     return false;
  }
请注意,;我对你的数据结构一无所知。试着给你一个意见

请发布您的示例数据结构并显示您的预期输出。

车型的数据结构

丰田奥里斯

现代伊兰特

日产巴萨拉

本田翡翠

丰田奥里斯

现代伊兰特

雷克萨斯gs

波什开曼群岛

-

n。任何汽车

链接的数据结构

丰田汽车公司

现代领汇

力克·尼桑

林克欧本田

凌志

林克波舍

宾利酒店

林克·卡迪拉克

-


n。这是一种更肮脏的发展方式。解析html不是排序和处理数据的有效方法。使用javascript对象,手工制作它,然后呈现一个html模板。@MehmetOtkun谢谢你的注意,你的意思是我们应该使用javascript对象而不是

或者什么?是的,我是这么说的。如果您发布输入和预期输出,我可以提供帮助。@mehmetokun原始文件中没有

;但是为了对汽车模型进行分类,特别是我为每个汽车模型提供了html&id。我正在试图理解如何使用javascript对象,正如您所说,请为此提供帮助
function clasificat (){
    var product1, product2, aydi1, aydi2, totl, contrl, e=0, f, d=0;
    for (; d<8; d++){
            totl = "demo"+d;
            aydi1 = "ayd"+e;
            e++;
            product1 = document.getElementById(aydi1).innerHTML;
        for (f=0; f<8; f++){
            aydi2 = "ayd"+f;
            product2 = document.getElementById(aydi2).innerHTML;
            contrl = document.getElementById(aydi2).innerHTML;
            if (product1==product2 && contrl.match(/link/) != "link"){
                document.getElementById(aydi2).innerHTML = document.getElementById(totl).innerHTML;
            }
        }
    }
}
  //you can get this data from backend via ajax
  var myCarModel = [
                     {id:0, name:'toyota'},
                     {id:1, name:'hundai'},
                     {id:2, name:'nissan'},
                     {id:3, name:'toyota'}
                     //...
                   ]
  var urles = ["link1","link2","link3","link4","link5","link6","link7","link8"];

  //now you need may models and urls
  //however, how you chose url for model?
  //for example

  var mapedLink = [];
  for(var i=0; i< myCarModel.length; i++){
      var exist = checkExist(myCarModel[i]) //check car model already listed
       var model = checkExist(model);
       if(exist)
          model.link = exist.link;
       else
          model.link = urles[i];
       if(exist)
          mapedLink.splice(exist.index + 1, 0, model); //insert new model after exist model
       else
          mapedLink.push(model); //inser end of the array
  }

  //now you can render your object to html
 var myHtml = '';
 for(var i=0; i< mappedLink.length; i++){
   var model = mappedLink[i];
    myHtml +='<p id="demo'+ model.id +'"><span id="ayd' + model.id +'" class="urlaydi' + model.id + ' ' + model.link + '">'+ model.name +'</span></p>'
 }
 var mycontainer =  document.getElementById("mycontainerid");
 mycontainer.innerHTML = myHtml;
  function checkExist(model){
     if(mappedLink.length){
         var exist = false;
         for(var i=0; i< mappedLink.length; i++){
              if(model.id == mappedLink[i].id){
                  exist = {index:i, url:model.link};
                  return exist;
               }
         }
        return false;
     }
     else
     return false;
  }