js利用多数组中的条件排序 
时间: 2023-04-01 18:01:07 浏览: 21
可以使用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代码。
HTML中利用js对的数组从小到大进行排序
可以使用JavaScript对HTML中的数组进行排序。假设有如下一个HTML页面:
```html
<!DOCTYPE html>
<html>
<head>
<title>Array Sorting Example</title>
<script src="sort.js"></script>
</head>
<body>
<h1>Array Sorting Example</h1>
<button onclick="sortArray()">Sort Array</button>
<ul id="myList">
<li>3</li>
<li>1</li>
<li>5</li>
<li>2</li>
<li>4</li>
</ul>
</body>
</html>
```
我们可以在 `sort.js` 中编写JS代码,实现对数组的排序:
```javascript
function sortArray() {
const list = document.getElementById("myList");
const items = list.getElementsByTagName("li");
const arr = [];
for (let i = 0; i < items.length; i++) {
arr.push(parseInt(items[i].textContent));
}
arr.sort((a, b) => a - b);
for (let i = 0; i < items.length; i++) {
items[i].textContent = arr[i];
}
}
```
这里的 `sortArray()` 函数首先获取到 `myList` 元素,然后获取到所有的 `li` 元素,并将它们的文本内容转换成数字存入一个数组中。接着对这个数组进行排序,最后再将排序后的结果写回到每个 `li` 元素中。在HTML中点击按钮后,就可以看到数组已经按照从小到大的顺序排列了。
相关推荐
















