javascript - 对数组中不同类型的变量进行排序
问题描述
在这里,我们在数组中有两种类型的变量,一种是整数,另一种是字符串,我试图通过字母顺序或字符串的长度对数组进行排序,但它会首先检测字符串上的整数。
const val=[{
x:"second",
y:2
},{
x:"first",
y:1
}];
function compare(a,b){return b.length-a.length};
val.sort(compare);
console.log(val);
解决方案
const val=[{
x:"second",
y:2
},{
x:"first",
y:1
}];
function compare(a,b){return a.x.length-b.x.length};
val.sort(compare);
console.log(val);
您需要比较属性而不是对象。此外,您可能希望处理回调的所有 -1、0 和 1 场景。我会把它留给你。看看现有的类似问题。
推荐阅读
- java - Java - 由于其他 readline 方法,我如何在不跳过一行的情况下执行读取方法
- pointers - 无法更新方法内指针的值
- python - Python:删除范围内不匹配的所有csv文件行
- database - 在 talend 中一次处理一个文件
- python-3.x - python - Cloud Firestore - 将数据附加到子集合
- c - 在递归函数中更改数组的内容
- python - 循环只取最后一个值
- laravel - Laravel,验证 ReCaptcha 后将数据添加到数据库
- javascript - Typescript 共享路径,无法导出 const
- python - pyqt 不工作:从 PyQt5.QtWidgets 导入 QApplication,QWidget 使 python shell 立即退出