基于javascript的数据分类
我有大数据,需要用javascript对它们进行分类 使用脚本: URL将添加到每个车型 对于同一车型,应使用相同的URL 当URL将被重复时,此行的当前URL应向下移动以用于下一车型 我们有解决第一和第二个问题的脚本。现在我们要解决第三个问题,请帮忙 以下是一些数据:基于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
<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;
}