我如何排序数组与数字和字符串值?



存在一个数组[350, 456, "Not Found"]。我想对它排序,我想得到最小的值(350)你能帮忙吗?


var urunAdi = [350, 456, "NotFound"];
urunAdi.sort(function(a,b){return a-b});
var lowestPrice = urunAdi[0];

像这样排序之后(350 - 456 - "NotFound"),我希望它找到350作为最低值。

您可以创建自定义函数filter的元素,如果他们是string或数字,并返回concat基本上合并这些数组。

myArr = [456, 350, "Not Found"]
function sortMe(arr) {
let numArr = arr.filter((el) => typeof el === "number").sort((a, b) => a - b);
let strArr = arr.filter((el) => typeof el === "string").sort();
return numArr.concat(strArr);
}
console.log(sortMe(myArr));

这可以通过几个Array方法轻松完成:

const urunAdi = [350, 456, 'NotFound'];
const getLowestNumber = (arr) =>
arr.filter((data) => typeof data === 'number').sort()[0];
const lowestPrice = getLowestNumber(urunAdi);

希望对你有帮助。

最新更新