Json数据如下:person = [{name:"甲",dateOfBirth:"1991-01-01",sex:"male"},{name:"乙",dateOfBirth:"1992-01-01",sex:"female"},{name:"丙",dateOfBirth:"1989-08-21",sex:"female"},{name:"丁",dateOfBirth:"1991-06-22",sex:"female"}];,筛选出sex为female的数据。
var person = [{name:"甲",dateOfBirth:"1991-01-01",sex:"male"},{name:"乙",dateOfBirth:"1992-01-01",sex:"female"},{name:"丙",dateOfBirth:"1989-08-21",sex:"female"},{name:"丁",dateOfBirth:"1991-06-22",sex:"female"}];
var girls = person.filter(function(item){
return item.sex =="female";
})
console.log(girls);
girls.sort(function(a,b){return a.dateOfBirth>b.dateOfBirth?1:-1;});
console.log(girls);
var count =0;
for(var i=12589;i<=25899;i++){
var result=0;
var a =i%10;
var b =Math.floor((i/10)%10);
var c =Math.floor((i/100)%10);
var d =Math.floor((i/1000)%10);
var e =Math.floor(i/10000);
result = a+b+c+d+e;
if(result%5==0)
count++;
}
console.log("总数为"+count);
var htmlString = ‘ < div class=”container” > ’ + ‘ < ul id=”news-list” > ’;
for (var i = 0; i < NEWS.length; i++) {
htmlString += ‘ < li > < a href=”’ +NEWS[i].LINK + ‘” > +NEWS[i].TITLE + ‘ < /a > < /li > ’;
}
htmlString += ‘ < /ul > < /div > ’;
分析:考点1-JavaScript的字符串连接机制;考点2-NEWS.length需要缓存,不然每次循环都要重新计算一次length。
var htmlString=[];
htmlString.push(‘ < div class=”container” > ’ + ‘ < ul id=”news-list” > ’);
for(var i = 0, len = NEWS.length; i < len; i++){
var news = NEWS[i];
htmlString.push('<li><a href="proxy.php?url=https%3A%2F%2Fgithub.com%2F%27%2B+news.LINK%2B%27">'+ news.TITLE+'</a></li>');
}
htmlString=htmlString.join("");
var Obj = function(msg){
this.msg = msg;
this.shout = function(){
alert(this.msg);
}
this.waitAndShout = function(){
//隔五秒钟后执行上面的shout方法
}
}
解:
var Obj = function(msg){
this.msg = msg;
this.shout = function(){
alert(this.msg);
};
this.waitAndShout = function(){
var that = this;
setTimeout(function(){that.shout();},5000);
//隔五秒钟后执行上面的shout方法
}
return this;
}
Obj("shouting").waitAndShout();
ps:在jsbin中只能显示一次,无法循环,待定。
var arr1=[1,2,3,3,4,2,3,5];
var arr2=[3,4,4,3,5,7,8];
var arr3=[];
//计算arr1和arr2两个数组的交集,将结果保存到arr3中
console.log(arr3);
解:
var arr1=[1,2,3,3,4,2,3,5];
var arr2=[3,4,4,3,5,7,8];
var arr3=[];
var len1=arr1.length,len2=arr2.length;
for(var i=0;i<len1;i++){
for(var j=0;j<len2;j++){
if(arr1[i]==arr2[j] && arr3.indexOf(arr1[i])==-1){
arr3.push(arr1[i]);}
}
}
//计算arr1和arr2两个数组的交集,将结果保存到arr3中
console.log(arr3);
时间复杂度为O(len1*len2)
var a = function(){
this.b=1
}
a();
console.log(b);
a.b=2;
a.prototype.b=3;
var c = new a();
console.log(c.b);
输出为:1 1
a=1,b=2,c=2;
while(a<b<c){
t=a;a=b;b=t;c--;
}
console.log(a,b,c);
分析:1<2<2,先计算1<2为true,返回1,再计算1<2,a与b值对调,a=2,b=1,c=1。再循环,条件再次满足,a=1,b=2,c=0。输出:1 2 0。