gpt4 book ai didi

javascript - 如何将更多参数传递给自定义 sort() 函数?

转载 作者:可可西里 更新时间:2023-11-01 02:31:08 26 4
gpt4 key购买 nike

我有一个对象数组,需要根据自定义函数进行排序。因为我想在多个对象属性上多次执行此操作,所以我想将属性的键名称动态传递到自定义排序函数中:

function compareOnOneFixedKey(a, b) {
a = parseInt(a.oneFixedKey)
b = parseInt(b.oneFixedKey)
if (a < b) return -1
if (a > b) return 1
return 0
}

arrayOfObjects.sort(compareByThisKey)

这应该变成这样:

function compareOnKey(key, a, b) {
a = parseInt(a[key])
b = parseInt(b[key])
if (a < b) return -1
if (a > b) return 1
return 0
}
arrayOfObjects.sort(compareOn('myKey'))

这能以方便的方式完成吗?

最佳答案

你可以添加一个包装器:

function compareOnKey(key) {
return function(a, b) {
a = parseInt(a[key], 10);
b = parseInt(b[key], 10);
if (a < b) return -1;
if (a > b) return 1;
return 0;
};
}

arrayOfObjects.sort(compareOnKey("myKey"));

关于javascript - 如何将更多参数传递给自定义 sort() 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14491695/

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