javascript使用as模式在数组中循环
我有一个数组:javascript使用as模式在数组中循环,javascript,arrays,loops,Javascript,Arrays,Loops,我有一个数组: array = ["One","Two","Three","Four"] 我想把它做成一个像 for(var i=0; i<10; i++){ 如果想要无限循环,只需创建如下循环: var num = 0; while(true) { var element = array[num]; if(num == array.length - 1) { num = 0; } else { num++; }
array = ["One","Two","Three","Four"]
我想把它做成一个像
for(var i=0; i<10; i++){
如果想要无限循环,只需创建如下循环:
var num = 0;
while(true) {
var element = array[num];
if(num == array.length - 1) {
num = 0;
} else {
num++;
}
//when you are done
//break;
}
array.concat(array).concat(array).concat(array)
// ["One", "Two", "Three", "Four", "One", "Two", "Three", "Four", "One", "Two", "Three", "Four", "One", "Two", "Three", "Four"]
您可以使用元素变量作为数组中的每个字符串或元素。完成后,只需调用“break”。如果需要无限循环,只需创建如下循环:
var num = 0;
while(true) {
var element = array[num];
if(num == array.length - 1) {
num = 0;
} else {
num++;
}
//when you are done
//break;
}
array.concat(array).concat(array).concat(array)
// ["One", "Two", "Three", "Four", "One", "Two", "Three", "Four", "One", "Two", "Three", "Four", "One", "Two", "Three", "Four"]
您可以使用元素变量作为数组中的每个字符串或元素。完成后,只需调用'break'。我认为您需要执行以下操作,您需要获得的索引是
I%array.length
(JavaScript代码):
var数组=[“一”、“二”、“三”、“四”];
var结果=[];
对于(变量i=0;i<10;i++){
var word=array[i%array.length];
结果:推送(word);
//console.log(word);
}
log('这是结果:'+结果);
我认为您需要执行以下操作,您需要获取的索引是I%array.length
(JavaScript代码):
var数组=[“一”、“二”、“三”、“四”];
var结果=[];
对于(变量i=0;i<10;i++){
var word=array[i%array.length];
结果:推送(word);
//console.log(word);
}
log('这是结果:'+结果);
这正是打印所需输出的逻辑
语法可以随任何语言而变化
var l=array.length
counter=0
for(var i=0; i<10; i++){
if(counter=l){
print array[counter]
counter=0
}
else
{
print array[counter]
counter=counter+1
}
}
var l=array.length
计数器=0
对于(var i=0;i,这正是打印所需输出的逻辑
语法可以随任何语言而变化
var l=array.length
counter=0
for(var i=0; i<10; i++){
if(counter=l){
print array[counter]
counter=0
}
else
{
print array[counter]
counter=counter+1
}
}
var l=array.length
计数器=0
对于(var i=0;ivar数组=[“一”、“二”、“三”、“四”]
var限值=10;
var asarray=真;
var newarray=concatArray(数组、限制、asarray);
函数concatArray(数组、限制、asarray){
var size=array.length,计数器=0,newarray=[];
对于(var i=0;ivar数组=[“一”、“二”、“三”、“四”]
var限值=10;
var asarray=真;
var newarray=concatArray(数组、限制、asarray);
函数concatArray(数组、限制、asarray){
var size=array.length,计数器=0,newarray=[];
对于(var i=0;i,您可以使用原始数组将其自身连接到任意次数,而无需像这样更改原始数组:
var num = 0;
while(true) {
var element = array[num];
if(num == array.length - 1) {
num = 0;
} else {
num++;
}
//when you are done
//break;
}
array.concat(array).concat(array).concat(array)
// ["One", "Two", "Three", "Four", "One", "Two", "Three", "Four", "One", "Two", "Three", "Four", "One", "Two", "Three", "Four"]
此外,您还可以使用一个函数,在该函数中可以传递希望数组重复的时间,这样您就不必处理所有那些concat
调用
var arr = [1, 2, 3, 4];
function concatArray(array, times) {
var result = [], i = 0;
for ( ; i < times; i += 1) {
result = result.concat(array);
}
return result;
}
concatArray(arr, 3); // [1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]
var-arr=[1,2,3,4];
函数concatArray(数组,时间){
var结果=[],i=0;
对于(;i<次;i+=1){
结果=result.concat(数组);
}
返回结果;
}
concatArray(arr,3);//[1,2,3,4,1,2,3,4,1,2,3,4]
最后,如果您想修改生成的数组以拥有一定数量的项,或者过滤它们,或者映射它们,或者诸如此类,您可以向函数添加回调
var arr = [1, 2, 3, 4];
function concatArray(array, times, cb) {
var result = [], i = 0;
for ( ; i < times; i += 1) {
result = result.concat(array);
}
if (cb && typeof cb == 'function') {
result = cb(result);
}
return result;
}
var final = concatArray(arr, 3, function(a) {
return a.slice(0, 10);
});
console.log(final) // [1, 2, 3, 4, 1, 2, 3, 4, 1, 2]
var-arr=[1,2,3,4];
函数concatArray(数组、时间、cb){
var结果=[],i=0;
对于(;i<次;i+=1){
结果=result.concat(数组);
}
if(cb&&typeof cb=='function'){
结果=cb(结果);
}
返回结果;
}
var final=concatArray(arr,3,函数(a){
返回a.slice(0,10);
});
console.log(最终版)/[1,2,3,4,1,2,3,4,1,2]
您可以使用原始数组将其自身连接到任意次数,而无需像这样更改原始数组:
var num = 0;
while(true) {
var element = array[num];
if(num == array.length - 1) {
num = 0;
} else {
num++;
}
//when you are done
//break;
}
array.concat(array).concat(array).concat(array)
// ["One", "Two", "Three", "Four", "One", "Two", "Three", "Four", "One", "Two", "Three", "Four", "One", "Two", "Three", "Four"]
此外,您还可以使用一个函数,在该函数中可以传递希望数组重复的时间,这样您就不必处理所有那些concat
调用
var arr = [1, 2, 3, 4];
function concatArray(array, times) {
var result = [], i = 0;
for ( ; i < times; i += 1) {
result = result.concat(array);
}
return result;
}
concatArray(arr, 3); // [1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4]
var-arr=[1,2,3,4];
函数concatArray(数组,时间){
var结果=[],i=0;
对于(;i<次;i+=1){
结果=result.concat(数组);
}
返回结果;
}
concatArray(arr,3);//[1,2,3,4,1,2,3,4,1,2,3,4]
最后,如果您想修改生成的数组以拥有一定数量的项,或者过滤它们,或者映射它们,或者诸如此类,您可以向函数添加回调
var arr = [1, 2, 3, 4];
function concatArray(array, times, cb) {
var result = [], i = 0;
for ( ; i < times; i += 1) {
result = result.concat(array);
}
if (cb && typeof cb == 'function') {
result = cb(result);
}
return result;
}
var final = concatArray(arr, 3, function(a) {
return a.slice(0, 10);
});
console.log(final) // [1, 2, 3, 4, 1, 2, 3, 4, 1, 2]
var-arr=[1,2,3,4];
函数concatArray(数组、时间、cb){
var结果=[],i=0;
对于(;i<次;i+=1){
结果=result.concat(数组);
}
if(cb&&typeof cb=='function'){
结果=cb(结果);
}
返回结果;
}
var final=concatArray(arr,3,函数(a){
返回a.slice(0,10);
});
console.log(最终版)/[1,2,3,4,1,2,3,4,1,2]
->var idx=i%array.length;
注意:这不是无限的,因为还有一个结束。它只是重复。你想退出循环吗?->var idx=i%array.length;
注意:这不是无限的,因为还有一个结束。它只是重复。你想退出循环吗?你没有回答g问题。问题是关于在一个简单的循环中添加基于索引的数组值。这是一个典型的过度技巧,会生成速度非常慢的网站。这是一个更好的方法,更完整,我提供了一个更好的选项,有更多的控制和更好的机会创建可重用代码。它既不更完整,也不提供更好的控制。你不是回答这个问题。这个问题是关于在一个简单的循环中添加基于索引的数组值。这是一个典型的过度技巧,会生成速度非常慢的网站。这是一个更好的方法,更完整,我提供了一个更好的选项,有更多的控制和更好的机会创建可重用代码。它既不完整,也不提供更好的控制。