// 生成随机数函数
function getRandomNumber(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
// 生成对象数组
const dataArray = [];
for (let i = 0; i < 100; i++) {
const side = getRandomNumber(1, 4);
const value = getRandomNumber(1, 100);
const mark = `mark_${i}`;
dataArray.push({ side, value, mark });
}
let arr = dataArray.slice(); // 或者 let backupArray = [...dataArray];
// 按顺序遍历数组,找出需要删除的行
for (let i = 1; i < arr.length; i++) {
const current = arr[i];
const prev = arr[i - 1];
if (current.side === prev.side) {
if (current.value < prev.value) {
arr.splice(i, 1);
i--; // 指针向前移一位
} else {
arr.splice(i - 1, 1);
i--; // 指针向前移一位
}
}
}
// console.log(dataArray);
console.log(dataArray.length)
// console.log(arr);
console.log(arr.length)
js slice() 方法或扩展运算符 ... 来创建原始数组的副本。这样,你就可以在备份数组上进行操作,而不会改变原始数组。
最新推荐文章于 2025-08-23 02:53:08 发布