我有大量数据,需要使用javascript对其进行分类。
使用脚本:
网址将添加到每个车型中。
对于同一车型,应该是相同的网址
当重复显示网址时,此行的当前网址应向下移动以显示下一个车型
我们有解决第一和第二的脚本第二个问题。现在我们要解决第3项,请帮助
这是一些数据:
<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>
它解决了第一次
function urlRank (){
var product, z, dme, aydi3, l=0, m=0;
var urles = ["link1","link2","link3","link4","link5","link6","link7","link8"];
for (z=0; z<8; z++){
aydi3 = "urlaydi"+l;
dme = "demo"+z;
product = document.getElementById(dme).innerHTML;
document.getElementById(dme).innerHTML = product+" "+'<span class="'+aydi3+'"'+urles[m]+'</span>';
l++;
m++;
}
}
它解决了第二次
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;
}
}
}
}
我们无法解决第三个问题,但对我们来说非常重要,请给出建议,帮助我们。
答案 0 :(得分:0)
据我所知,你有一个有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;
}
请注意;我对您的数据结构一无所知。试着给你一个意见。
请发布您的示例数据结构并显示您的预期输出。
答案 1 :(得分:0)
汽车模型的数据结构
toyota auris
hyundai elantra
nissan bassara
本田玉
toyota auris
hyundai elantra
lexus gs
porcshe cayman
-
<磷>氮。任何车链接的数据结构
link_toyota
link_hyundai
link_nissan
link_honda
link_lexus
link_porcshe
link_bentley
link_cadillac
-
<磷>氮。 link_anycar