js利用多数组中的条件排序
时间: 2023-04-01 09:01:07 浏览: 61
可以使用Array.sort()方法结合自定义比较函数来实现多条件排序,比如:
```
let arr = [
{name: 'Tom', age: 20, score: 80},
{name: 'Jerry', age: 18, score: 90},
{name: 'Lucy', age: 20, score: 85},
{name: 'Bob', age: 19, score: 85}
];
arr.sort((a, b) => {
if (a.age !== b.age) {
return a.age - b.age; // 按年龄升序排列
} else if (a.score !== b.score) {
return b.score - a.score; // 年龄相同,按分数降序排列
} else {
return a.name.localeCompare(b.name); // 年龄和分数都相同,按姓名升序排列
}
});
console.log(arr);
```
输出结果为:
```
[
{name: 'Jerry', age: 18, score: 90},
{name: 'Bob', age: 19, score: 85},
{name: 'Lucy', age: 20, score: 85},
{name: 'Tom', age: 20, score: 80}
]
```
相关问题
HTML中利用js对数组从小到大进行排序
在HTML中,可以通过使用`<script>`标签来嵌入JavaScript代码,然后利用JavaScript对数组进行排序。下面是一个例子:
```
<!DOCTYPE html>
<html>
<head>
<title>Sort Array</title>
</head>
<body>
<h1>Sort Array Example</h1>
<p>Original Array: <span id="original"></span></p>
<p>Sorted Array: <span id="sorted"></span></p>
<script>
let arr = [3, 1, 5, 2, 4];
document.getElementById("original").innerHTML = arr.join(", ");
arr.sort(function(a, b) {
return a - b;
});
document.getElementById("sorted").innerHTML = arr.join(", ");
</script>
</body>
</html>
```
在这个例子中,我们先定义了一个数组arr,然后利用`document.getElementById()`方法获取到HTML中的`<span>`元素,用来显示原始数组和排序后的数组。然后,我们使用`Array.prototype.sort()`方法对数组进行排序,传入一个比较函数,以便按照从小到大的顺序对数组进行排序。最后,我们通过`innerHTML`属性将排序后的数组显示在HTML页面上。
注意,在HTML中使用JavaScript时,应该将JavaScript代码放在`<script>`标签中,并且应该将代码放在`<body>`标签底部,以确保在DOM元素都加载完成之后再执行JavaScript代码。
js对数组里的中文数字排序
可以使用localeCompare方法对中文数字进行排序,如下所示:
```javascript
let arr = ['五', '一', '三', '四', '二'];
arr.sort(function(a, b) {
return a.localeCompare(b, 'zh-Hans-CN-u-nu-hanidec');
});
console.log(arr); // ['一', '二', '三', '四', '五']
```
其中,参数'zh-Hans-CN-u-nu-hanidec'表示使用中文简体、中国地区、数字使用汉字(hanidec)的数字系统进行排序。