javascript - 如何接近和对齐数组中的元素?
问题描述
我已经尝试过:
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);
推荐阅读
- kubernetes - 将文件中的静态字段添加到fluentbit中的每个日志
- angular - Angular 结构指令:用 html 元素包装宿主元素
- sql-server - 使用 UNC 路径从远程数据文件批量导入 SQL Server
- java - 使用 Spring 以正确的日期时间格式将请求参数转换为本地日期
- sql-server - 如何从 SQL Server 中的所有对象中删除加密?
- laravel - osiset / laravel-shopify 错误调用成员函数 api() on null
- python - pytorch TD3 实现中的模型分歧转换为 tensorflow
- arrays - 过滤掉我需要的键并创建一个新数组
- php - 尝试使用 ID vanilla PHP 显示单个产品
- php - 我的网站项目中的模型和控制器错误