JavaScript 中第一个项目会杀死下一个项目,直到数组长度等于 1

问题描述 投票:0回答:2

let arr = [1, 2, 3, 4, 5];

for (let i = 0; i <= arr.length - 1; i++) {
  let ar = arr.splice(i, 1);
  console.log(ar.flat())
}

我有一个数组。 1 杀 2、3 杀 4 类似,数组为 [1,3,5]。 5杀1,3杀5,以此类推。最后的操作是3.在JavaScript中怎么做?

javascript arrays typescript javascript-objects
2个回答
-1
投票

下面的代码似乎可以工作,我们只需要在索引超过数组限制时重置索引,并且会运行一个 while 循环,直到数组中只有一个元素,然后逻辑似乎可以工作!

let arr = [1, 2, 3, 4, 5];

/*
for(let i=0;i<=arr.length-1;i++){
let ar = arr.splice(i,1);
console.log(ar.flat())
}
*/
let index = 0;
while (arr.length > 1) {
  index = index < arr.length - 1 ? index + 1 : 0;
  arr.splice(index, 1);
}

console.log(arr);
.as-console-wrapper {
  top: 0;
  max-height: 100% !important;
}


-1
投票
let arr = [1, 2, 3, 4, 5];
while (arr.length > 1)
  arr = arr.filter(() => this.del ? --this.del : this.del = +1, { del: 1 })
console.log(arr)
© www.soinside.com 2019 - 2024. All rights reserved.