在Ruby中,我们可以使用。重建数组的每个循环 1)while循环,2)yield语句(将值传递给一个块),以及3)类Array(使该方法可用于Array类);如下:
docker run --name=elasticsearch -p 9200:9200 -p 9300:9300 -v /data/elk-conf/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /data/elk-conf/jvm.options:/etc/elasticsearch/jvm.options -d elasticsearch:5.1.1
在Javascript中,我使用类似的方式重建了一个数组的forEach循环;如下:
class Array
def reconstructed_each
n = 0
while n < self.length
yield(self[n])
n += 1
end
self
end
end
我不确定的部分是如何使上述功能仅用于数组,而不是其他类型的对象,例如数。
更新:我想通了。上面的代码段已经过相应的编辑。
答案 0 :(得分:0)
您是否正在寻找使用while-construct迭代javascript数组的方法?
如果是这样的话:
const arr = ["some", "value", "here"];
let i =0;
while(i < arr.length){
//use contents of arr[i] to do something useful
i++;
}
也许我错过了什么
答案 1 :(得分:0)
也许你正在寻找像发电机功能这样的东西?
const myArray = [1,2,3,4,5];
function* constructEach(){
let index = 0;
while(index < 3)
yield myArray[index++];
}
var gen = constructEach();
console.log(gen.next().value); // 0
console.log(gen.next().value); // 1
console.log(gen.next().value); // 2
console.log(gen.next().value); // undefined
(这个例子是从MDN无耻地偷走的)