JavaScript 将['1','2','3','5','8','9','10','12']处理成['1-3','5','8-10','12']
时间: 2023-10-23 21:24:23 浏览: 32
以下是一种实现方式:
```javascript
function groupNumbers(arr) {
let result = [];
let start = arr[0];
for (let i = 1; i <= arr.length; i++) {
if (arr[i] - arr[i - 1] !== 1) {
if (start !== arr[i - 1]) {
result.push(start + '-' + arr[i - 1]);
} else {
result.push(start);
}
start = arr[i];
}
}
return result;
}
let arr = ['1', '2', '3', '5', '8', '9', '10', '12'];
let result = groupNumbers(arr);
console.log(result); // ['1-3', '5', '8-10', '12']
```
该实现方式使用一个循环遍历数组,判断相邻两个元素的差值是否为 1,如果不是则将起点和终点拼接成一个字符串加入结果数组中,否则继续循环。需要注意的是,在循环结束后还需要将最后一个连续的数字序列加入结果数组中。
相关问题
JavaScript 将['1','8','2','3','10','5','9','10','12']处理成['1-3','5','8-10','12']
以下是将['1','8','2','3','10','5','9','10','12']处理成['1-3','5','8-10','12']的JavaScript代码:
```javascript
function groupNumbers(arr) {
let sortedArr = arr.sort((a, b) => a - b); // 将数组排序
let tempArr = [sortedArr[0]]; // 存储当前处理的数字序列
let resultArr = []; // 存储最终的结果序列
for (let i = 1; i < sortedArr.length; i++) {
if (sortedArr[i] - sortedArr[i-1] === 1) {
// 如果当前数字与前一个数字差为1,说明是连续的数字
tempArr.push(sortedArr[i]);
} else {
// 如果当前数字与前一个数字差不为1,说明数字序列结束
if (tempArr.length === 1) {
// 如果数字序列只有一个数字,直接添加到结果序列中
resultArr.push(tempArr[0]);
} else {
// 如果数字序列有多个数字,将数字序列转化为'x-y'的形式添加到结果序列中
resultArr.push(`${tempArr[0]}-${tempArr[tempArr.length-1]}`);
}
// 重置数字序列
tempArr = [sortedArr[i]];
}
}
// 处理最后一个数字序列
if (tempArr.length === 1) {
resultArr.push(tempArr[0]);
} else {
resultArr.push(`${tempArr[0]}-${tempArr[tempArr.length-1]}`);
}
return resultArr;
}
let arr = ['1','8','2','3','10','5','9','10','12'];
let result = groupNumbers(arr);
console.log(result); // 输出['1-3','5','8-10','12']
```
flask中如何接收js前端发送的data = [{1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {10, 11, 12}, {13, 14, 15}]这种数据
在 Flask 中,可以使用 `request` 对象来获取前端发送的数据。如果前端发送的是 JSON 数据,可以使用 `request.get_json()` 方法来获取该数据。
在前端发送数据时,需要将数据转换为 JSON 格式,并使用 POST 请求发送到后端。以下是一个示例代码:
```javascript
var data = [{1, 2, 3}, {4, 5, 6}, {7, 8, 9}, {10, 11, 12}, {13, 14, 15}];
$.ajax({
url: '/data',
type: 'POST',
contentType: 'application/json',
data: JSON.stringify(data),
success: function(response) {
console.log(response);
}
});
```
在 Flask 中,可以使用以下代码来接收上述数据:
```python
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/data', methods=['POST'])
def receive_data():
data = request.get_json()
print(data)
# do something with the data
return jsonify({'message': 'Data received'})
if __name__ == '__main__':
app.run()
```
在上述代码中,`request.get_json()` 方法会返回前端发送的 JSON 数据,然后可以对该数据进行处理。在本例中,代码只是简单地打印该数据,并返回一个 JSON 格式的消息。
相关推荐
![](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)