gpt4 book ai didi

javascript - 删除JS数组中的最小数字

转载 作者:数据小太阳 更新时间:2023-10-29 04:08:50 30 4
gpt4 key购买 nike

我有一个数字数组 [2, 1, 3, 4, 5, 1] 并且想要删除列表中的最小数字。但是不知何故我的 IF 语句被跳过了。

我检查过,“numbers[i + 1]”和“numbers[i]”本身可以工作,但是“numbers[i + 1] < numbers[i]”不...

function removeSmallest(numbers) {
var smallestNumberKEY = 0;
for (i = 0; i <= numbers.lenths; i++) {
if (numbers[i + 1] < numbers[i]) {
smallestNumberKEY = i + 1;
}
}
numbers.splice(smallestNumberKEY, 1);
return numbers;
}

document.write(removeSmallest([2, 1, 3, 4, 5, 1]));

最佳答案

你的代码有错字,数组没有lenths属性

function removeSmallest(numbers) {
var smallestNumberKEY = 0;
for (var i = 0; i < numbers.length - 1; i++) {
if (numbers[i + 1] < numbers[i]) {
smallestNumberKEY = i + 1;
numbers.splice(smallestNumberKEY, 1);
}
}
return numbers;
}

document.write(removeSmallest([2, 1, 3, 4, 5, 1]));

但您的算法不适用于另一个数组,例如 [5, 3, 1, 4, 1],它也会删除值 3

您可以使用Math.min 函数找到最小值,然后过滤一个数组

function removeSmallest(arr) {
var min = Math.min(...arr);
return arr.filter(e => e != min);
}

关于javascript - 删除JS数组中的最小数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37225314/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com