使用生成器可以帮助我们更简单明确的实现可枚举对象:
生成器运用function* {}来定义
使用yield命令来返回值
yield命令与return很相似,用来返回函数的值,但是不会停止处理
<!-- 使用生成器的方法来判断是不是符合 -->
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8>
</head>
<body>
<script type="text/javascript">
var a=[];
function* check() {
a[0]=0;a[1]=1;
yield a[0];yield a[1];
var i=2;
while(true) {
a[i]=a[i-1]+a[i-2];
yield a[i];
i=i+1;
}
}
const _isFibonacci = array => {
// 补全代码
var i=0;
for(let value of check()) {
// console.log(value);
if(value!=array[i]) return false;
if(i==array.length-1) {
return true;
}
i=i+1;
}
}
// console.log(_isFibonacci([0,1,1,2,3,5]));
</script>
</body>
</html>

京公网安备 11010502036488号