Javascript 数组帮助| JS

Javascript 数组帮助| JS,javascript,arrays,Javascript,Arrays,我对这件事很感兴趣 我怎样才能从数组中提取一个项并输出它,但只能输出一次 它将再次运行,并在数组中选择另一个字符串。比如 const myArray = [ 'me1', 'me2' ]; console.log(myArray); = me1 next time i run the code console.log(myArray); = me2, 任何想法都会很棒。谢谢 亲切问候,, 菲尔。//值 常量myArray=[ “me1”, “me2” ]; //以前选择的值

我对这件事很感兴趣

我怎样才能从数组中提取一个项并输出它,但只能输出一次 它将再次运行,并在数组中选择另一个字符串。比如

const myArray = [
    'me1',
    'me2'
];

console.log(myArray); = me1
next time i run the code 
console.log(myArray); = me2,
任何想法都会很棒。谢谢

亲切问候,, 菲尔。

//值
常量myArray=[
“me1”,
“me2”
];
//以前选择的值
var历史=[];
/**
*此函数从myArray返回一个不在
*存储以前选择的值的历史记录数组。
*如果历史数组包含myArray中的所有值,则
*将历史记录重置为空数组以重新开始。
*/
const nextValue=()=>{
if(history.length==myArray.length)history=[]
设value=null;

对于(设i=0;i如果您每次都想要第一项:

console.log(myArray.shift())
如果要获取随机项目,请执行以下操作:

function random(arr){
  return Math.floor(Math.random() * arr.length)
}
for(let i = 0; i< arr.length < i++){
  let index = random(arr)
  console.log(arr[index])
  arr.splice(index, 1)
}
随机函数(arr){
返回Math.floor(Math.random()*arr.length)
}
for(设i=0;i
您可以使用shift()方法,如图所示:
while(myArray.length>0){
log(myArray.shift());

}

下次我运行代码时,你所说的
是什么意思?
只需使用数组索引myArray[0]或myArray[1]也许你想使用数组。shift()假设我将日志连接到索引中的一个按钮,然后单击它,实际上这就是我的意思。有没有办法在它到达数组中的最后一项后循环此操作以停止(myArray.length>0){console.log(myArray.shift());}在me2Yes之后暂停,因为如果您使用console.log(myArray),它是数组中剩余的最后一个元素在那之后,它应该是一种空洞的方式来修复这个问题?因为我需要它返回到me1并继续它的路径。这个方法确实有效,但正如我在jayffe的评论中所说的,它只是结束,因为它是数组中的最后一个元素,有没有任何方式我可以循环这个函数,并且只在我再次发送console.log之后才输出它将已注释的中断与中断条件放在一起,当前循环将变为无穷大……
让tempArray=Object.assign([],myArray);while(tempArray.length>0){console.log(tempArray.shift());if(tempArray.length==0)tempArray=Object.assign([],myArray);//中断条件}
我尝试了一段这样的代码,只是一直在显示数组中的最后一项。我检查过了。它给出了输出:me1 me2 me1 me2…等等。你能分享你的代码片段吗?
function random(arr){
  return Math.floor(Math.random() * arr.length)
}
for(let i = 0; i< arr.length < i++){
  let index = random(arr)
  console.log(arr[index])
  arr.splice(index, 1)
}