vue3 ajax获取json数组排序举例
使用axios获取接口数据
可以在代码中安装axios包,并写入到package.json文件:
npm install axios -S
接口调用代码举例如下:
const fetchScore = async () => {try {const res = await axios.get(`http://127.0.0.1:8000/score/${userInput.value}`);if (res.status !== 200) return;data.value = res.data;} catch (error) {console.log(error);};
}
后台代码如下:
@app.get("/score/{count}")
def get_score(count: int):if count <= 0: return {}result = []for i in range(count):result.append({"number": i+1, "score": random.uniform(0.0, 100.0)})return result
数据获取效果如下:

对json数组进行排序
在 Vue 3 中对数据进行排序,可以通过在组件的 setup 函数中定义一个计算属性或方法来实现。
1. 使用计算属性排序
<script setup>
import AppLayout from '../components/AppLayout.vue';
import axios from 'axios';
import { ref, computed } from 'vue';const data = ref([]);
const userInput = ref('')const sortedData = computed(() => {return data.value.slice().sort((a, b) => b.score - a.score);
});const fetchScore = async () => {try {const res = await axios.get(`http://127.0.0.1:8000/score/${userInput.value}`);if (res.status !== 200) return;data.value = res.data;} catch (error) {console.log(error);};
}
</script><template><AppLayout><h1>Score</h1><div><label for="user-input">Enter a number:</label><input id="user-input" v-model.number="userInput" type="number" placeholder="Type a number..."></div> <button @click="fetchScore">Fetch Score</button> <p v-if = "data.length > 0">Score list:</p><ul v-if="data.length > 0"><li v-for="item in data" :key="item.number">{{ item.number + ": " + item.score }}</li></ul><p v-if="sortedData.length > 0">Sorted Score list:</p><ul v-if="sortedData.length > 0"><li v-for="item in sortedData" :key="item.number">{{ item.number + ": " + item.score }}</li></ul></AppLayout>
</template>
2. 直接修改ajax方法所获得的数据
以上述代码为例,可以在 fetchScore 方法中对数据进行排序后再赋值给 data。
代码示例如下:
<script setup>
import AppLayout from '../components/AppLayout.vue';
import axios from 'axios';
import { ref } from 'vue';const data = ref([]);const fetchScore = async () => {try {const res = await axios.get(`http://127.0.0.1:8000/score/${userInput.value}`);if (res.status !== 200) return;data.value = res.data.sort((a, b) => a.score - b.score);} catch (error) {console.log(error);}
}
</script><template><AppLayout><h1>Score</h1><button @click="fetchScore">Fetch Score</button><p v-if="data.length > 0">Sorted score list:</p><ul v-if="data.length > 0"><li v-for="item in data" :key="item.number">{{ item.number + ": " + item.score }}</li></ul></AppLayout>
</template>
3. 方法比较
- 计算属性:
sortedData 是一个计算属性,它返回 data 数组的一个排序副本。使用 slice() 方法是为了避免直接修改原始数组。
在模板中使用 sortedData 而不是 data,这样每次 data 变化时,sortedData 都会自动重新计算。
- 直接修改方法:
在 fetchScore 方法中,获取数据后直接对其进行排序,并将排序后的结果赋值给 data。
在模板中直接使用 data,因为 data 已经是排序后的数组。
选择哪种方式取决于你的具体需求和偏好。计算属性适用于需要多次使用的排序逻辑,而方法适用于一次性排序。
排序效果

相关文章:
vue3 ajax获取json数组排序举例
使用axios获取接口数据 可以在代码中安装axios包,并写入到package.json文件: npm install axios -S接口调用代码举例如下: const fetchScore async () > {try {const res await axios.get(http://127.0.0.1:8000/score/${userInput.v…...
web安全之信息收集
在信息收集中,最主要是就是收集服务器的配置信息和网站的敏感信息,其中包括域名及子域名信息,目标网站系统,CMS指纹,目标网站真实IP,开放端口等。换句话说,只要是与目标网站相关的信息,我们都应该去尽量搜集。 1.1收集域名信息 知道目标的域名之后,获取域名的注册信…...
报错:java: 无法访问org.springframework.boot.SpringApplication
idea报错内容: java: 无法访问org.springframework.boot.SpringApplication 报错原因: <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.4…...
线上+线下≠新零售,6大互通诠释新零售的核心要点-亿发
新零售,这个词汇在近年来频繁出现在我们的视野中,它不仅仅是线上与线下的简单相加,而是一场深刻的商业变革。本文将通过6大互通的核心要点,为您揭示新零售的真正内涵。 1. 商品的互联互通 新零售模式下,商品的互联互…...
GitHub Copilot革命性更新:整合顶尖AI模型,如何重塑开发体验?
在技术快速发展的今天,代码辅助工具已成为提升开发效率的利器。今天,我们带来了一个激动人心的消息——GitHub Copilot宣布引入多模型选择功能,这不仅是技术上的一次飞跃,更是对开发者工作流程的一次革新。 多模型选择:…...
AWS账户是否支持区域划分?
在云计算的世界中,亚马逊网络服务(AWS)凭借其全球化的基础设施和丰富的服务选项受到许多企业和开发者的青睐。一个常见的问题是:AWS账户是否支持区域划分?为了回答这个问题,我们九河云一起深入了解AWS的区域…...
Easy Excel 通过【自定义批注拦截器】实现导出的【批注】功能
目录 Easy Excel 通过 【自定义批注拦截器】实现导出的【批注】功能需求原型:相关数据:要导出的对象字段postman 格式导出对象VO 自定义批注拦截器业务代码: 拦截器代码解释:详细解释:格式优化: Easy Excel…...
整数对最小和(Java Python JS C++ C )
题目描述 给定两个整数数组array1、array2,数组元素按升序排列。 假设从array1、array2中分别取出一个元素可构成一对元素,现在需要取出k对元素, 并对取出的所有元素求和,计算和的最小值。 注意: 两对元素如果对应于array1、array2中的两个下标均相同,则视为同一对元…...
MySQL 启动失败问题分析与解决方案:`mysqld.service failed to run ‘start-pre‘ task`
目录 前言1. 问题背景2. 错误分析2.1 错误信息详解2.2 可能原因 3. 问题排查与解决方案3.1 检查 MySQL 错误日志3.2 验证 MySQL 配置文件3.3 检查文件和目录权限3.4 手动启动 MySQL 服务3.5 修复 systemd 配置文件3.6 验证依赖环境 4. 进一步优化与自动化处理结语 前言 在日常…...
谷歌浏览器Chrome打开百度很慢,其他网页正常的解决办法,试了很多,找到了适合的
最近不知怎么的,Chrome突然间打开百度很慢,甚至打不开。不光我一个人遇到这问题,我同事也遇到这个问题。开发中难免遇到问题,需要百度,现在是百度不了。 作为一名开发人员,习惯了使用Chrome进行开发&#…...
深度学习Pytorch中的模型保存与加载方法
深度学习:Pytorch中的模型保存与加载方法 在 PyTorch 中,模型的保存和加载对于模型的持久化和后续应用至关重要。这里详细介绍了两种主要方法:保存整个模型(包括架构和参数)和仅保存模型的状态字典。以下内容进一步完善了加载模型…...
小红书矩阵运营:怎么通过多个账号来提升品牌曝光?
在如今的社交媒体环境中,小红书作为一个以分享生活方式、购物心得为主的平台,已经成为品牌营销的热土。尤其是通过“小红书矩阵”,品牌能够精准触达不同的用户群体,提升曝光度和转化率。那么,如何通过多个账号进行矩阵…...
Llama-2-7b:vocab size:32000;embeddings:4096;hidden_layers是什么意思
目录 Llama-2-7b:vocab size:32000;embeddings:4096 vocab size:模型能解析词汇数量==n_vocab num_hidden_layers: 32 nanogpt隐藏层4 "initializer_range": 0.02 Token Embed是什么 举例说明 不同Chat版本的Token Embed(Token Embeddings) 区别 Llama…...
【moveit!】ROS学习笔记
参考:Movelt使用笔记-Movelt Setup Assistant-CSDN博客 MoveIt! 学习笔记12 - MoveIt! Setup Assistant 配置方法_ros moveit 添加home点-CSDN博客 一、使用Setup Assistant配置机械臂 (1)使用如下命令启动MoveIt Setup Assistant rosrun…...
【Leetcode 每日一题 - 补卡】3259. 超级饮料的最大强化能量
问题背景 来自未来的体育科学家给你两个整数数组 e n e r g y D r i n k A energyDrinkA energyDrinkA 和 e n e r g y D r i n k B energyDrinkB energyDrinkB,数组长度都等于 n n n。这两个数组分别代表 A A A、 B B B 两种不同能量饮料每小时所能提供的强化…...
【人工智能】使用Python实现序列到序列(Seq2Seq)模型进行机器翻译
解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 序列到序列(Sequence-to-Sequence, Seq2Seq)模型是解决序列输入到序列输出任务的核心架构,广泛应用于机器翻译、文本摘要和问答系统等自然语言处理任务中。本篇文章深入介绍 Seq2Seq 模型的原理及其核心组件(…...
量化交易系统开发-实时行情自动化交易-4.4.1.做市策略实现
19年创业做过一年的量化交易但没有成功,作为交易系统的开发人员积累了一些经验,最近想重新研究交易系统,一边整理一边写出来一些思考供大家参考,也希望跟做量化的朋友有更多的交流和合作。 接下来继续说说做市策略实现。 做市策…...
Pinia之2:计数器案例、computed函数、异步action、storeToRefs函数、pinia调试
欢迎来到“雪碧聊技术”CSDN博客! 在这里,您将踏入一个专注于Java开发技术的知识殿堂。无论您是Java编程的初学者,还是具有一定经验的开发者,相信我的博客都能为您提供宝贵的学习资源和实用技巧。作为您的技术向导,我将…...
Microsoft Excel如何插入多行
1.打开要编辑的excel表,在指定位置,鼠标右键点击“插入”一行 2.按住shift键,鼠标的光标箭头会变化成如下图所示 3.一直按住shift键和鼠标左键,往下拖动,直至到插入足够的行...
Redis【1】- 如何阅读Redis 源码
1 Redis 的简介 Redis 实际上是简称,全称为 Remote Dictionary Server (远程字典服务器),由 Salvatore Sanfilippo 写的高性能 key-value 存储系统,其完全开源免费,遵守 BSD 协议。Redis 与其他 key-value 缓存产品(如…...
pdf2htmlEX高级调试技术:汇编级调试与反汇编
pdf2htmlEX高级调试技术:汇编级调试与反汇编 【免费下载链接】pdf2htmlEX Convert PDF to HTML without losing text or format. 项目地址: https://gitcode.com/gh_mirrors/pd/pdf2htmlEX pdf2htmlEX是一款能够将PDF文件转换为HTML格式同时保持文本和格式完…...
Axure RP中文语言包:3分钟快速汉化你的原型设计工具
Axure RP中文语言包:3分钟快速汉化你的原型设计工具 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包,不定期更新。支持 Axure 9、Axure 10。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 对于…...
什么是绿色软件?免安装版就是绿色软件吗?
什么是绿色软件?免安装版就是绿色软件吗?古有流氓软件耍流氓,今有绿色软件未必真绿色。 --马彪一、什么是绿色软件? 绿色软件(Portable Software)就是指无需安装,且运行过程中不向运行目录之…...
实战详解:从零构建 LangChain 智能 Agent,让大模型真正“动起来”!
文章目录📖 一、为什么我们需要 Agent?🔄 Agent 核心工作流图解🛠️ 二、环境准备与核心组件核心组件介绍💻 三、实战代码:构建“全能数据分析师”Agent1. 定义工具 (Tools)2. 构建 Agent 逻辑 (ReAct 模式…...
避坑指南:在ZYNQ上调试PCIe设备时,如何手动验证枚举与BAR空间配置是否正确
ZYNQ平台PCIe设备调试实战:手动验证枚举与BAR配置的工程方法论 当你在ZYNQ平台上调试PCIe设备时,是否遇到过这样的场景:Vivado中精心设计的PCIe链路通过了硬件测试,但系统启动后lspci却看不到设备踪影?或者设备虽然被识…...
从零开始学计算机视觉|CV 基础算法与项目实战
大家好,我是唐宇迪,资深AI讲师与学习规划师。专注计算机视觉教学与算法研发,过去三年我帮超过2500名有Python基础的入门者,从“像素是什么”到“独立跑通CV项目”。今天这篇长文,完全按零基础实战体系撰写,…...
告别文档迁移困境:3个关键场景解锁飞书文档批量备份新方案
告别文档迁移困境:3个关键场景解锁飞书文档批量备份新方案 【免费下载链接】feishu-doc-export 项目地址: https://gitcode.com/gh_mirrors/fe/feishu-doc-export 还在为团队协作平台切换带来的文档迁移难题而烦恼吗?当企业从飞书切换到其他办公…...
Pixel Fashion Atelier应用场景:像素艺术工作坊教学——青少年AI创意设计课教案
Pixel Fashion Atelier应用场景:像素艺术工作坊教学——青少年AI创意设计课教案 1. 项目概述 Pixel Fashion Atelier(像素时装锻造坊)是一款专为青少年创意教育设计的AI图像生成工具。它基于Stable Diffusion和Anything-v5技术,…...
EcomGPT-7B社区贡献指南:如何在CSDN等技术平台分享你的应用案例
EcomGPT-7B社区贡献指南:如何在CSDN等技术平台分享你的应用案例 1. 为什么你应该分享你的EcomGPT-7B应用经验? 如果你已经用EcomGPT-7B做出了一些有意思的东西,比如一个智能客服机器人、一个商品描述生成器,或者任何能解决实际问…...
终极指南:深入解析 Evcxr 模块系统如何实现 Rust 代码隔离和状态管理
终极指南:深入解析 Evcxr 模块系统如何实现 Rust 代码隔离和状态管理 【免费下载链接】evcxr 项目地址: https://gitcode.com/gh_mirrors/ev/evcxr Evcxr 是一个为 Rust 语言设计的 eval() 实现,提供了强大的代码隔离和状态管理功能。这个 Rust …...
