使用js封装一个numberSort(nList)函数,实现如下功能:nList是个数字串,例如1,4,5,23,2,17,24,897。请把这串数字转为数组后按照中间高两边低进行排序,最后的结果是["1", " 4", " 5", " 23", " 897", " 24", " 17", " 2"],请注意左右翼数据数据的平衡性(左右两边的数个数一致)。 1.正确封装numberSort 函数 2.合理定义 nList 字符串 并将字符串作为参数传递 3.合理判断nList 字符串 是奇数 或偶数 并在字符串的中间进行分割 4.如果nList 字符串长度 是奇数 则最大的数在中间 5.如果nList 字符串长度 是偶数 则最大的数在右侧第一位 6.合理完成左右两侧的排序 7.将最终排序完的中间高两边底的数字在控制台进行打印 8.打印数组中的最大值 最小值 以及 和 9.求和使用reduce进行求和
时间: 2024-03-13 11:44:15 浏览: 22
以下是封装的numberSort函数的代码:
```javascript
function numberSort(nList) {
// 将数字串转为数组
var numArray = nList.split(",");
// 判断数字串的长度是奇数还是偶数
var isOdd = numArray.length % 2 == 1;
// 如果数字串的长度是奇数,则最大的数在中间
if (isOdd) {
// 将数组分为左右两部分
var midIndex = Math.floor(numArray.length / 2);
var leftArray = numArray.slice(0, midIndex);
var rightArray = numArray.slice(midIndex + 1);
// 对左右两部分进行排序
leftArray.sort(function(a, b) {
return b - a;
});
rightArray.sort(function(a, b) {
return a - b;
});
// 将左右两部分合并
var resultArray = leftArray.concat(numArray[midIndex], rightArray);
}
// 如果数字串的长度是偶数,则最大的数在右侧第一位
else {
// 将数组分为左右两部分
var rightIndex = numArray.length / 2;
var leftArray = numArray.slice(0, rightIndex);
var rightArray = numArray.slice(rightIndex);
// 对左右两部分进行排序
leftArray.sort(function(a, b) {
return b - a;
});
rightArray.sort(function(a, b) {
return a - b;
});
// 将左右两部分合并
var resultArray = rightArray.slice(0, 1).concat(leftArray, rightArray.slice(1));
}
// 打印结果数组
console.log(resultArray);
// 打印数组中的最大值、最小值和和
var maxNum = Math.max.apply(null, resultArray);
var minNum = Math.min.apply(null, resultArray);
var sumNum = resultArray.reduce(function(a, b) {
return parseInt(a) + parseInt(b);
});
console.log("最大值:" + maxNum);
console.log("最小值:" + minNum);
console.log("和:" + sumNum);
}
```
使用以下代码调用该函数:
```javascript
var nList = "1,4,5,23,2,17,24,897";
numberSort(nList);
```
函数将会打印出排好序的数组,以及数组中的最大值、最小值和和。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)