如我有Json
var spec =[
{"ProductGuid":"42f73f7a5f4b4e51b8b0853af379ea25","SpecCode":"cabd","SpecValueCode":"dc41"},{"ProductGuid":"d7a5b1cc4d2b4191ae8c9ce98c296b9a","SpecCode":"cabd","SpecValueCode":"a297"},{"ProductGuid":"bd8a390451cd44cbbfea5fc8fbdf521b","SpecCode":"cabd","SpecValueCode":"7d2a"},{"ProductGuid":"42f73f7a5f4b4e51b8b0853af379ea25","SpecCode":"3c3f","SpecValueCode":"f2b2"},{"ProductGuid":"bd8a390451cd44cbbfea5fc8fbdf521b","SpecCode":"3c3f","SpecValueCode":"f2b2"},{"ProductGuid":"d7a5b1cc4d2b4191ae8c9ce98c296b9a","SpecCode":"3c3f","SpecValueCode":"f2b2"},{"ProductGuid":"e82edb204ea147378b4a8e0ed5201677","SpecCode":"3c3f","SpecValueCode":"f2b2"},{"ProductGuid":"e82edb204ea147378b4a8e0ed5201677","SpecCode":"cabd","SpecValueCode":"9972"}
]; 如我要找出:
SpecCode=cabd,SpecValueCode=dc41
且
SpecCode=3c3f,SpecValueCode=f2b2
的记录
结果为42f73f7a5f4b4e51b8b0853af379ea25
我现在的方法就是先循环第一个条件,再循环第二个条件
有没有更快的方法 谢谢
var spec =[
{"ProductGuid":"42f73f7a5f4b4e51b8b0853af379ea25","SpecCode":"cabd","SpecValueCode":"dc41"},{"ProductGuid":"d7a5b1cc4d2b4191ae8c9ce98c296b9a","SpecCode":"cabd","SpecValueCode":"a297"},{"ProductGuid":"bd8a390451cd44cbbfea5fc8fbdf521b","SpecCode":"cabd","SpecValueCode":"7d2a"},{"ProductGuid":"42f73f7a5f4b4e51b8b0853af379ea25","SpecCode":"3c3f","SpecValueCode":"f2b2"},{"ProductGuid":"bd8a390451cd44cbbfea5fc8fbdf521b","SpecCode":"3c3f","SpecValueCode":"f2b2"},{"ProductGuid":"d7a5b1cc4d2b4191ae8c9ce98c296b9a","SpecCode":"3c3f","SpecValueCode":"f2b2"},{"ProductGuid":"e82edb204ea147378b4a8e0ed5201677","SpecCode":"3c3f","SpecValueCode":"f2b2"},{"ProductGuid":"e82edb204ea147378b4a8e0ed5201677","SpecCode":"cabd","SpecValueCode":"9972"}
]; 如我要找出:
SpecCode=cabd,SpecValueCode=dc41
且
SpecCode=3c3f,SpecValueCode=f2b2
的记录
结果为42f73f7a5f4b4e51b8b0853af379ea25
我现在的方法就是先循环第一个条件,再循环第二个条件
有没有更快的方法 谢谢
{
if(a.SpecCode=="cabd" && SpecValueCode="dc41" && a.ProductGuid="42f73f7a5f4b4e51b8b0853af379ea25" )
{
//do matters
}
}
{
if(a.SpecCode=="cabd" && SpecValueCode="dc41" && a.ProductGuid="42f73f7a5f4b4e51b8b0853af379ea25" )
{
//do matters
}
}
--------------
可问题我怎么知道:42f73f7a5f4b4e51b8b0853af379ea25
这个,循环N次吗
index1 = {"SpecCode=cabd,SpecValueCode=dc41":"42f73f7a5f4b4e51b8b0853af379ea25"},....]index2 = {"42f73f7a5f4b4e51b8b0853af379ea25":"SpecCode=cabd,SpecValueCode=dc41|SpecCode=3c3f,SpecValueCode=f2b2
"}
var spec =[
{"ProductGuid":"42f73f7a5f4b4e51b8b0853af379ea25","SpecCode":"cabd","SpecValueCode":"dc41"},
{"ProductGuid":"d7a5b1cc4d2b4191ae8c9ce98c296b9a","SpecCode":"cabd","SpecValueCode":"a297"},
{"ProductGuid":"bd8a390451cd44cbbfea5fc8fbdf521b","SpecCode":"cabd","SpecValueCode":"7d2a"},
{"ProductGuid":"42f73f7a5f4b4e51b8b0853af379ea25","SpecCode":"3c3f","SpecValueCode":"f2b2"},
{"ProductGuid":"bd8a390451cd44cbbfea5fc8fbdf521b","SpecCode":"3c3f","SpecValueCode":"f2b2"},
{"ProductGuid":"d7a5b1cc4d2b4191ae8c9ce98c296b9a","SpecCode":"3c3f","SpecValueCode":"f2b2"},
{"ProductGuid":"e82edb204ea147378b4a8e0ed5201677","SpecCode":"3c3f","SpecValueCode":"f2b2"},
{"ProductGuid":"e82edb204ea147378b4a8e0ed5201677","SpecCode":"cabd","SpecValueCode":"9972"}
];
var rtn;
var cnt=0;
for(var i=0;i<spec.length;i++){
if((spec[i].SpecCode=="cabd" && spec[i].SpecValueCode=="dc41")
|| (spec[i].SpecCode=="3c3f" && spec[i].SpecValueCode=="f2b2")){cnt++;
if(cnt==2)rtn=spec[i].ProductGuid;
}
}
alert(rtn);
</script>
<script type="text/javascript">
var spec =[
{"ProductGuid":"42f73f7a5f4b4e51b8b0853af379ea25","SpecCode":"cabd","SpecValueCode":"dc41"},
{"ProductGuid":"d7a5b1cc4d2b4191ae8c9ce98c296b9a","SpecCode":"cabd","SpecValueCode":"a297"},
{"ProductGuid":"bd8a390451cd44cbbfea5fc8fbdf521b","SpecCode":"cabd","SpecValueCode":"7d2a"},
{"ProductGuid":"42f73f7a5f4b4e51b8b0853af379ea25","SpecCode":"3c3f","SpecValueCode":"f2b2"},
{"ProductGuid":"bd8a390451cd44cbbfea5fc8fbdf521b","SpecCode":"3c3f","SpecValueCode":"f2b2"},
{"ProductGuid":"d7a5b1cc4d2b4191ae8c9ce98c296b9a","SpecCode":"3c3f","SpecValueCode":"f2b2"},
{"ProductGuid":"e82edb204ea147378b4a8e0ed5201677","SpecCode":"3c3f","SpecValueCode":"f2b2"},
{"ProductGuid":"e82edb204ea147378b4a8e0ed5201677","SpecCode":"cabd","SpecValueCode":"9972"}
];
var rtn=[];
var cnt=0;
for(var i=0;i<spec.length;i++){
if(!rtn[spec[i].ProductGuid])rtn[spec[i].ProductGuid]=[];
rtn[spec[i].ProductGuid].push(spec[i].SpecCode+":"+spec[i].SpecValueCode);
}for(var v in rtn)
if(rtn[v].sort().join()==["cabd:dc41","3c3f:f2b2"].sort().join())alert(v);</script>
<script type="text/javascript">
var spec =[
{"ProductGuid":"42f73f7a5f4b4e51b8b0853af379ea25","SpecCode":"cabd","SpecValueCode":"dc41"},
{"ProductGuid":"d7a5b1cc4d2b4191ae8c9ce98c296b9a","SpecCode":"cabd","SpecValueCode":"a297"},
{"ProductGuid":"bd8a390451cd44cbbfea5fc8fbdf521b","SpecCode":"cabd","SpecValueCode":"7d2a"},
{"ProductGuid":"42f73f7a5f4b4e51b8b0853af379ea25","SpecCode":"3c3f","SpecValueCode":"f2b2"},
{"ProductGuid":"bd8a390451cd44cbbfea5fc8fbdf521b","SpecCode":"3c3f","SpecValueCode":"f2b2"},
{"ProductGuid":"d7a5b1cc4d2b4191ae8c9ce98c296b9a","SpecCode":"3c3f","SpecValueCode":"f2b2"},
{"ProductGuid":"e82edb204ea147378b4a8e0ed5201677","SpecCode":"3c3f","SpecValueCode":"f2b2"},
{"ProductGuid":"e82edb204ea147378b4a8e0ed5201677","SpecCode":"cabd","SpecValueCode":"9972"}
];
var rtn=[];
var cnt=0;
for(var i=0;i<spec.length;i++){
if((spec[i].SpecCode=="cabd" && spec[i].SpecValueCode=="dc41")
|| (spec[i].SpecCode=="3c3f" && spec[i].SpecValueCode=="f2b2")){
if(!rtn[spec[i].ProductGuid])rtn[spec[i].ProductGuid]=true;
else {
alert(spec[i].ProductGuid);
}
}
}
</script>