1、请为Array实现一个简要的timeOutEach方法,起作用为: 每隔一定的时间(如m秒钟)输出一个item项,如果这个Array有n个项,那timeOutEach方法就需要n*m长的时间才能够执行完成(可以理解成处理并发问题而实现的一个队列方法).
Array.prototype.timeOutEach = function (fn,time) {
if (this.length<=0) return;
var arr = this;
var index = 0;
setTimeout(function loop(){
fn.call(arr,arr[index],index)
if (++index < arr.length)
setTimeout(loop, time);
}, time);
};
[2,5,1,8,7].timeOutEach(function (item) {
console.log(item);
},2000);
2、输入一个区间[n,m],其中0<=n<=m<=100,若a,b,c均属于区间[n,m],请尽可能多的找出区间[n,m]中满足条件: a²+b²=c²的a,b,c的取值。
var n = prompt("请输入n:","0")*1;
var m = prompt("请输入m:","100")*1;
for (var a = n; a <=m; a++) {
for (var b = n; b <=m; b++) {
var c = Math.sqrt(a*a+b*b);
if (c===Math.floor(c) && c>=n && c<=m) {
console.log(a,b,c);
}
}
}