Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更改循环中的数组并从先前添加的项开始_Javascript_Arrays_String_Loops_For Loop - Fatal编程技术网

Javascript 更改循环中的数组并从先前添加的项开始

Javascript 更改循环中的数组并从先前添加的项开始,javascript,arrays,string,loops,for-loop,Javascript,Arrays,String,Loops,For Loop,我想循环一个数组并将其添加到数组中,但在循环中使用先前添加的项。所以我想循环1,4,1,在1和4之间加0.5,然后回到1。所以最后的字符串或数组是: 一, 1.5 2. 2.5 3. 3.5 4等 问题是我可以添加到索引项,但不能添加到循环中的该项。第一个循环是1,然后我加上1.5,第二个循环应该是1.5,但是循环将是4 base_string = '1,4,1'; base_string = base_string.split(','); for (var i = 0; i < bas

我想循环一个数组并将其添加到数组中,但在循环中使用先前添加的项。所以我想循环1,4,1,在1和4之间加0.5,然后回到1。所以最后的字符串或数组是:

一, 1.5 2. 2.5 3. 3.5 4等

问题是我可以添加到索引项,但不能添加到循环中的该项。第一个循环是1,然后我加上1.5,第二个循环应该是1.5,但是循环将是4

base_string = '1,4,1';
base_string = base_string.split(',');

for (var i = 0; i < base_str.length; i++) {

// I add 1.5 to array and I want to use that the next loop, but the next loop is 4 instead

}
base_string='1,4,1';
base_string=base_string.split(',');
对于(变量i=0;i
let base_string='1,4,1';
让base_array=base_string.split(',).map(i=>+i);
设inc=0.5;//每个步骤中要添加的编号
设res=[];
设i=0;
//迭代直到到达最后一个元素
while(iinc){
res.push(基_数组[i]);
if(base_array[i]控制台日志(res.join(“”))
我认为您可以使用两个
for
循环来实现这一点,只需维护一个
方向
变量,将计数器指向正确的方向:

让arr=[1,4,1]
设res=[arr[0]]
设阶跃=0.5
for(设i=1;iarr[i-1]?1:-1

对于(设j=(方向*arr[i-1])+step;j这应该适用于任何数组

var base_string='1,4,1,7,2';
base_string=base_string.split(',');
var new_string=[];
对于(变量i=0;ibase_字符串[i]){

对于(var j=parseInt(base_string[i]);j可以减少给定的数组,并通过取一个递增或递减的值来填充值

var字符串='1,4,1',
结果=字符串
.split(“,”)
.地图(编号)
.减少((r,v)=>{
如果(!r)返回[v];
设last=r[r.长度-1],
delta=v>last?0.5:-0.5;
而(最后+增量!==v)r.push(最后+增量);
r、 推(v);
返回r;
},未定义);
console.log(结果);
。作为控制台包装{max height:100%!important;top:0;}
您可以使用如下“”函数:

var base_string='1,2,3,4';
基本字符串=基本字符串。拆分(',')。减少((a,v,i,ar)=>{
如果(i==1){
//使用原始数组的前两个值创建数组
返回[+a,+a+0.5,+v,+v+0.5];
}
//在索引2之后添加一个额外的项+0.5
a、 推力(+v);
a、 推力(+v+0.5);
返回a;
});

console.log(基本字符串)
到达4后会发生什么?我必须回到1,比如:3.5,3,2.5,2,1.5,1我需要将字符串1 4 1更改为1 1.5 2等,增量为0.5谢谢,但它给了我一个错误:未捕获的语法错误:意外标识符:let I=0,maxIter=40,j=0;很抱歉格式不好,我在注释和它运行没有任何错误非常感谢。我花了一整天的时间在这上面,你救了我一天,再次感谢是的,非常感谢你(它确实给了我两位数,比如1,1,但我想我自己可以算出那个数字)对,@Youss,修正了。谢谢。我会调查的,但这有点超出我的理解:)谢谢,我会看看这个(reduce对我来说是新的)哇,这是一些严肃的编码…谢谢,我以后会看的