我有一个函数来重新排序数组中的对象,我调用该函数与对象属性,我想排序,但我不知道如何设置回调函数使用参数。我尝试使用eval(),但没有成功。它不能正常工作。
function order(param){
const newOrder = arrayContent.sort((first,second) => (`${first}.${param}` > `${second}.${param}`) ? 1 : -1);
};
order('name')
这很容易实现。您可以使用'点符号'(例如object.name
)或使用方括号(例如object['name']
)来引用对象,您可以将任何字符串放在方括号内以引用特定的'内部字段'
let arrayContent = [{number:3,name:'Alice'},{number:2, name:'Maxim'}]; //your array
let order = param => arrayContent.sort((first,second) => first[param] < second[param]?1:-1);
order('name');
console.log(arrayContent);
order('number');
console.log(arrayContent);