Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何根据数字属性对对象数组进行排序_Javascript_Arrays_Sorting - Fatal编程技术网

Javascript 如何根据数字属性对对象数组进行排序

Javascript 如何根据数字属性对对象数组进行排序,javascript,arrays,sorting,Javascript,Arrays,Sorting,所以我有一个类似下面代码中的数组,我想按高度对它进行排序。这样,当我执行console.log(数组[0])时,最短的人将登录 我不知道怎么做 let array = [ { name: "John", gender: "male", height_meters: 1.8 }, { name: "Cathrine", gender: "female", height_meter

所以我有一个类似下面代码中的数组,我想按高度对它进行排序。这样,当我执行console.log(数组[0])时,最短的人将登录

我不知道怎么做

let array = [
    {
        name: "John",
        gender: "male",
        height_meters: 1.8
    },
    {
        name: "Cathrine",
        gender: "female",
        height_meters: 1.7
    }
]
使用
array.sort()

我希望这会有帮助

使用
array.sort()


我希望这会有帮助

我们在这里将分类分开,它允许我们对代码进行清晰的描述,但也使代码易于替换或重复使用。 Sort希望我们返回三个值中的一个,以便对元素进行排序<代码>小于零
0
大于零
。大多数文档都会将其显示为严格的
-1
0
1
。但是,任何正数和负数都可以替换为
-1
+1
,这使我们在排序数字时能够非常简洁

let数组=[
{
姓名:“约翰”,
性别:“男性”,
高度(米):1.8
},
{
姓名:“凯瑟琳”,
性别:“女性”,
高度(米):1.7
},
{
姓名:“凯瑟琳”,
性别:“女性”,
高度/米:1.3
},
{
姓名:“凯瑟琳”,
性别:“女性”,
高度(米):1.95
},
{
姓名:“凯瑟琳”,
性别:“女性”,
高度(米):2.7
}
]
const sortBy=(itemA,itemB)=>itemA.height\u meters-itemB.height\u meters;

console.log(array.sort(sortBy))我们在这里将代码分类,它允许我们对代码进行清晰的描述,但也使代码易于替换或重复使用。 Sort希望我们返回三个值中的一个,以便对元素进行排序<代码>小于零
0
大于零
。大多数文档都会将其显示为严格的
-1
0
1
。但是,任何正数和负数都可以替换为
-1
+1
,这使我们在排序数字时能够非常简洁

let数组=[
{
姓名:“约翰”,
性别:“男性”,
高度(米):1.8
},
{
姓名:“凯瑟琳”,
性别:“女性”,
高度(米):1.7
},
{
姓名:“凯瑟琳”,
性别:“女性”,
高度/米:1.3
},
{
姓名:“凯瑟琳”,
性别:“女性”,
高度(米):1.95
},
{
姓名:“凯瑟琳”,
性别:“女性”,
高度(米):2.7
}
]
const sortBy=(itemA,itemB)=>itemA.height\u meters-itemB.height\u meters;
console.log(array.sort(sortBy))本机方式

arr.sort((a, b) => a.height_meters - b.height_meters);
洛达斯图书馆

_.orderBy(arr, ['height_meters'], ['asc']);
土法

arr.sort((a, b) => a.height_meters - b.height_meters);
洛达斯图书馆

_.orderBy(arr, ['height_meters'], ['asc']);

如果您阅读,您将看到解释和示例。
array.sort(person=>person.height\u meters)
。sort方法的参数允许您指定如何比较元素(默认情况下为identity)@wbadart,这是不对的。您需要参数和属性的增量。如果阅读,您将看到解释和示例。
array.sort(person=>person.height\u meters)
。sort方法的参数允许您指定如何比较元素(默认情况下为identity)@wbadart,这是不对的。您需要参数和属性的增量。虽然这是正确的,但您应该添加一些解释来解释为什么这样做。这是一个公平的评论@nem035谢谢!现在可以了!虽然这是正确的,但您应该对其工作原理进行一些解释。这是一个公平的评论@nem035Thank man!现在可以了!非常感谢你!这是有效的,我会投票给正确的答案在一点谢谢!非常感谢你!这是有效的,我会投票给正确的答案在一点谢谢!