gpt4 book ai didi

javascript - 混元小数 - JS

转载 作者:行者123 更新时间:2023-11-30 07:54:11 24 4
gpt4 key购买 nike

您好,我正在创建一个返回给定数组中最小数字的函数。如果数组不包含任何数字,它应该返回 0。

这是我的功能:

function findSmallestNumberAmongMixedElements(arr){
if(arr.length === 0 && typeof arr === 'string'){
return 0;
} else{
return Math.min.apply(null, arr); //min=1
}
}
var output = findSmallestNumberAmongMixedElements([4, 'lincoln', 9, 'octopus']);
console.log(output); // --> 4

现在我的答案返回 NAN 而不是 4。你知道我做错了什么吗?

最佳答案

typeof arr === "string" 如果您传递的是数组,则始终为 false(数组是否包含字符串与该测试无关)。

你应该做的是首先,使用filter过滤掉数组中的数字,然后在过滤后的数组上调用Math.min:

function findSmallestNumberAmongMixedElements(arr) {
var onlyNumbers = arr.filter(e => typeof e === "number"); // filter out only items that are numbers
if(onlyNumbers.length === 0) return 0; // if there is no numbers, return 0
return Math.min.apply(null, onlyNumbers); // otherwise return the min of them
}

var output = findSmallestNumberAmongMixedElements([4, 'lincoln', 9, 'octopus']);
console.log(output); // --> 4

关于javascript - 混元小数 - JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44688484/

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