js查找一组数的中位数
时间: 2023-08-13 15:04:56 浏览: 48
可以使用 JavaScript 的 Array.sort() 方法将数组中的元素排序,然后取出中间位置的元素作为中位数。
下面是一个简单的 JavaScript 实现:
```javascript
function median(arr) {
arr.sort(function (a, b) {
return a - b;
});
var mid = Math.floor(arr.length / 2);
if (arr.length % 2 == 0) {
// 如果数组长度为偶数,则中位数为中间两个数的平均值
return (arr[mid - 1] + arr[mid]) / 2;
} else {
// 如果数组长度为奇数,则中位数为中间的那个数
return arr[mid];
}
}
```
这个函数接受一个数组作为参数,返回数组的中位数。如果数组长度为偶数,则返回中间两个数的平均值,如果数组长度为奇数,则返回中间的那个数。
相关问题
js 查找字符串最后一个数字
您可以使用正则表达式和 JavaScript 中的 `match()` 方法来查找字符串中的最后一个数字。例如:
```javascript
let str = "Hello123World456";
let lastNumber = str.match(/\d+$/);
console.log(lastNumber[0]); // 输出 456
```
这里,正则表达式 `/d+$/` 匹配字符串中最后一个数字。`match()` 方法返回一个数组,其中第一个元素是匹配的字符串。因此,`lastNumber[0]` 将返回字符串中的最后一个数字。如果字符串中没有数字,`lastNumber` 将为 `null`。
js如何获取一个json数组的中位数
要获取一个 JSON 数组的中位数,你可以按照以下步骤进行操作:
1. 解析 JSON 字符串,将其转换为 JavaScript 对象或数组。
2. 对数组进行排序,以便以升序或降序的方式排列元素。
3. 确定数组的长度。
4. 根据数组的长度,判断中位数的位置:
- 如果数组长度为奇数,中位数位置为 (数组长度 - 1) / 2。
- 如果数组长度为偶数,中位数位置为数组长度 / 2 和 (数组长度 / 2) - 1 之间的平均值。
5. 根据中位数的位置获取对应的元素值。
以下是一个示例代码,演示如何获取 JSON 数组的中位数:
```javascript
const jsonStr = '[1, 3, 5, 7, 9]';
const arr = JSON.parse(jsonStr); // 解析 JSON 字符串为数组
arr.sort((a, b) => a - b); // 数组排序
const length = arr.length;
let median;
if (length % 2 === 0) {
const midIndex1 = length / 2;
const midIndex2 = (length / 2) - 1;
median = (arr[midIndex1] + arr[midIndex2]) / 2; // 偶数个元素取中间两个元素的平均值
} else {
const midIndex = Math.floor(length / 2);
median = arr[midIndex]; // 奇数个元素取中间元素
}
console.log(median); // 输出中位数
```
注意:在实际应用中,需要根据具体情况处理 JSON 字符串的解析和排序方式。例如,如果 JSON 数组中的元素是对象,你可能需要指定键来进行排序。