我已经尝试过:
let age = arr.sort(function(a, b) {
return b -a;
});
它适用于简单的数组,但它不起作用。在这个数组中:let list = [
[
['firstName', 'Joe'],
['age', 42],
['gender', 'male'],
],
[
['firstName', 'Mary'],
['lastName', 'Jenkins'],
['age', 36],
['gender', 'female'],
],
[
['lastName', 'Kim'],
['age', 40],
['gender', 'female'],
],
];
它是双数组,并且“年龄”索引定位不同。我怎样才能接近“年龄”并对齐?我想升序排序。
最佳答案
您可以使用 fromEntries
将您的数组项转换为对象,然后排序。但是您应该考虑将项目更新为对象以避免这种不必要的转换。
const list = [ [ ['firstName', 'Joe'], ['age', 42], ['gender', 'male'], ], [ ['firstName', 'Mary'], ['lastName', 'Jenkins'], ['age', 36], ['gender', 'female'], ], [ ['lastName', 'Kim'], ['age', 40], ['gender', 'female'], ], ];
list.sort((a, b) => Object.fromEntries(a).age - Object.fromEntries(b).age);
console.log(list);
关于javascript - 如何接近和对齐数组中的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65574041/