Javascript 函数shift()不';在回路内部不工作
我试图在for循环中操作一个数组,我想在数组末尾添加一个项,并删除数组开头的一个元素,如下所示:Javascript 函数shift()不';在回路内部不工作,javascript,arrays,Javascript,Arrays,我试图在for循环中操作一个数组,我想在数组末尾添加一个项,并删除数组开头的一个元素,如下所示: var internal = new Array(); for(var i = 0; i < 1000; i++) { internal[i] = Math.floor(Math.random() * 37); internal.shift(); console.log(internal.length); } var internal=new Array(); 对
var internal = new Array();
for(var i = 0; i < 1000; i++) {
internal[i] = Math.floor(Math.random() * 37);
internal.shift();
console.log(internal.length);
}
var internal=new Array();
对于(变量i=0;i<1000;i++){
内部[i]=数学地板(数学随机()*37);
内部移位();
console.log(内部长度);
}
问题是看起来shift()在循环中不起作用,实际上,没有从数组中删除任何元素
有解决办法吗
此处因为您使用的是硬编码索引,请尝试
var internal = new Array();
for(var i = 0; i < 1000; i++) {
internal.push(Math.floor(Math.random() * 37));
internal.shift();
console.log(internal.length);
}
将打印
51
而不是1
,因为您使用的是硬编码索引,请尝试
var internal = new Array();
for(var i = 0; i < 1000; i++) {
internal.push(Math.floor(Math.random() * 37));
internal.shift();
console.log(internal.length);
}
将打印
51
而不是1
,因为您使用的是硬编码索引,请尝试
var internal = new Array();
for(var i = 0; i < 1000; i++) {
internal.push(Math.floor(Math.random() * 37));
internal.shift();
console.log(internal.length);
}
将打印
51
而不是1
,因为您使用的是硬编码索引,请尝试
var internal = new Array();
for(var i = 0; i < 1000; i++) {
internal.push(Math.floor(Math.random() * 37));
internal.shift();
console.log(internal.length);
}
将打印
51
而不是1
它每次减少一个,但通过使用数组索引访问它,您每次都在增加它。而不是
internal[i] = Math.floor(Math.random() * 37);
使用
比如说,
var internal = [];
internal[3] = "thefourtheye";
console.log(internal);
输出
[ , , , 'thefourtheye' ]
它为前三个元素留出空间,并在指定的索引处添加元素。因此,它将保持阵列的增长
注意:使用
[]
创建一个新数组,而不是新建数组()
它每次减少一个,但通过使用数组索引访问它,您每次都在增加它。而不是
internal[i] = Math.floor(Math.random() * 37);
使用
比如说,
var internal = [];
internal[3] = "thefourtheye";
console.log(internal);
输出
[ , , , 'thefourtheye' ]
它为前三个元素留出空间,并在指定的索引处添加元素。因此,它将保持阵列的增长
注意:使用
[]
创建一个新数组,而不是新建数组()
它每次减少一个,但通过使用数组索引访问它,您每次都在增加它。而不是
internal[i] = Math.floor(Math.random() * 37);
使用
比如说,
var internal = [];
internal[3] = "thefourtheye";
console.log(internal);
输出
[ , , , 'thefourtheye' ]
它为前三个元素留出空间,并在指定的索引处添加元素。因此,它将保持阵列的增长
注意:使用
[]
创建一个新数组,而不是新建数组()
它每次减少一个,但通过使用数组索引访问它,您每次都在增加它。而不是
internal[i] = Math.floor(Math.random() * 37);
使用
比如说,
var internal = [];
internal[3] = "thefourtheye";
console.log(internal);
输出
[ , , , 'thefourtheye' ]
它为前三个元素留出空间,并在指定的索引处添加元素。因此,它将保持阵列的增长
注意:使用[]
创建新数组,而不是新建数组()