const data3 = [
{ name: "Андрей", age: 31 },
{ name: "Валерия", age: 31 },
{ name: "Егор", age: 25 },
{ name: "София", age: 29 },
{ name: "Антон", age: 40 },
];
data3.forEach((item, index)=>{
let maxAge = Math.max(...data3.map((n) => n.age));
if(item.age == maxAge){
data3.splice(index,1)
}
console.log(item)
});
data3.splice(0, data3.length) сделает это на ура )
arr.length = 0. Но да, это не задача.
const data3 = [
{ name: "Андрей", age: 31 },
{ name: "Валерия", age: 31 },
{ name: "Егор", age: 25 },
{ name: "София", age: 29 },
{ name: "Антон", age: 40 },
];
console.log(data3.length)
data3.forEach((item, index)=>{
let maxAge = Math.max(...data3.map((n) => n.age));
if(item.age == maxAge){
console.log(item)
data3.splice(index,1)
}
});
console.log(data3.length)
мне надо чтоб удалял age 40 , потом после удаления самый больше возраст будет 31 его тоже надо удалить, до тех пор пока не останется пустой массив
forEach здесь плохо подходит, так как массив уменьшается.const data3 = [
{
name: "Андрей",
age: 31
},
{
name: "Валерия",
age: 31
},
{
name: "Егор",
age: 25
},
{
name: "София",
age: 29
},
{
name: "Антон",
age: 40
},
];
while(data3.length) {
data3.splice(data3.findIndex((n) => {
return (n.age === Math.max(...data3.map((n) => n.age))) ? !0 : !1;
}), 1);
}