Javascript 在js数组中查找顺序值
这个代码怎么了 我正在尝试一个简单的纸牌游戏,看看一个人是否有一个直杆 逻辑是检查数组中的下一个值是否为当前值+1Javascript 在js数组中查找顺序值,javascript,Javascript,这个代码怎么了 我正在尝试一个简单的纸牌游戏,看看一个人是否有一个直杆 逻辑是检查数组中的下一个值是否为当前值+1 让arr=[ [d',13], [f',12], [z',11], [d',10], [d',9] ]; arr=arr.sort((a,b)=>a[1]-b[1]); 常数isSeq=arr=>{ for(设i=0;i{ for(设i=0;ia[1]-b[1]); 常数isSeq=arr=>{ 让isStraight=true let current=arr[0][1] for
让arr=[
[d',13],
[f',12],
[z',11],
[d',10],
[d',9]
];
arr=arr.sort((a,b)=>a[1]-b[1]);
常数isSeq=arr=>{
for(设i=0;i isSeq(arr)代码>在第一次检查后,您可以通过各种方式快速返回
if (arr[i][1]+1 !== arr[i+1][1]) {
return false;
} else {
return true;
}
您应在完成所有检查后返回:
for (let i = 0; i < arr.length - 1; i++) {
console.log(arr[i][1]+1, arr[i+1][1])
if (arr[i][1]+1 !== arr[i+1][1]) {
return false;
}
}
return true;
for(设i=0;i
您需要删除else部分,因为这将退出函数,即使在第一次迭代中为true
让arr=[['d',13],'f',12],'z',11],'d',10],'d',9];
arr=arr.sort((a,b)=>a[1]-b[1]);
常数isSeq=arr=>{
for(设i=0;i 控制台日志(isSeq(arr))
您也可以使用数组#every()执行此操作。
:
让arr=[
[d',13],
[f',12],
[z',11],
[d',10],
[d',9]
];
arr=arr.sort((a,b)=>a[1]-b[1]);
函数isSeq(数据){
返回data.every((num,i)=>(i==data.length-1)| |(num[1]==(data[i+1][1]-1));
}
控制台日志(isSeq(arr))
相反如果else
使用return
,您可以使用break
:
将第一个值作为当前值,并迭代输入的其余部分。将每个条目与当前条目进行比较。如果序列中断,则从循环中断。在移动到下一个条目之前,请将其设置为新的当前条目
让arr=[
[d',13],
[f',12],
[z',11],
[d',10],
[d',9]
];
arr=arr.sort((a,b)=>a[1]-b[1]);
常数isSeq=arr=>{
让isStraight=true
let current=arr[0][1]
for(设i=1;i console.log(isSeq(arr))
为什么要按顺序对阵列进行排序以便在其上运行logicc