例如: var A=总的数据 var B=新添加的数据 A = B + A条件:A中保持10条B数据。动作:每添一条新的B数据。最旧的一条B数据自动消失。结果:让A中只保持10条数据。希望回答用for循环来实现。别的也可以。也可以这么理解啊。就是说A=B+A。检测A里有几个数据。当超过10个时。最老的那个元素被清除。因为这个等式里的排列方式就是先来的排第一。只是检测一下他们的排序就成。
似乎不太好解决,B数据中需存下当前时间.<html><head><title>JS OBJECT STUDY</title><script>//保持数组长度为10,当放第十一个元素的时候,原数组中的最老元素将被取代function MyArray(){ this.array=new Array();//存放元素 this.pushTime=new Array();//存放时间}MyArray.prototype.push=function(obj){ var ctime=new Date().getTime(); if(this.array.length>=10){ //拷贝数组 var pt=this.pushTime.concat(""); //对数组排序 pt.sort(); var index=0; //寻找最老元素的下标 for(var i=0;i<this.pushTime.length;i++){ if(this.pushTime[i]==pt[0]){ index=i; break; } } //将最老元素替换 this.array.splice(index,1,obj); this.pushTime.splice(index,1,ctime); }else{ this.array.push(obj); this.pushTime.push(ctime); }}MyArray.prototype.pop=function(){ this.pushTime.pop(); return this.array.pop();}var a=new MyArray();a.push("I");a.push("love");a.push("you");a.push(",");a.push("gao");a.push("yuan");a.push("hong");a.push("ceng");a.push("jing");a.push("!");a.push("ly");alert(a.array);alert(a.pop());</script></head><body></body></html>
//运算代码function FixArray(){ this.ArrayObj = new Array(); this.length = 10; //设定上限大小 this.head=""; this.end=""; this.add=function(Node){ if (this.ArrayObj.length<this.length) this.ArrayObj.unshift(Node); else { this.ArrayObj.pop(); this.ArrayObj.unshift(Node); } } this.get=function(){ return this.head + this.ArrayObj.join("") + this.end; }}var ChannelArray=new FixArray();ChannelArray.end= document.all("MyChannel").innerHTML;//显示代码 ChannelArray.add( "<div align=\"center\" id=\"TPmenu\" onmousedown=\"MoveItems(this);\">" + CreateDIV.innerHTML + "</div>"); MyChannel.innerHTML = ChannelArray.get();
没太明白的意思,给你提供一个思路:<script>var a={dates:[{id:1,name:'aa'},{id:2,name:'bb'},{id:3,name:'cc'}]};var b={id:4,name:'dd'};alert("a[\"dates\"].length: "+a["dates"].length+"\ta[\"dates\"][0][\"id\"]: "+a["dates"][0]["id"]);a["dates"][0]=b;//修改a["dates"][a["dates"].length]=b//添加alert("a[\"dates\"].length: "+a["dates"].length+"\ta[\"dates\"][0][\"id\"]: "+a["dates"][0]["id"]);</script>