当前位置: 首页 > web >正文

vue3 各种数据处理

1.对数组去重, 并取出想要的值

用途:获取此数组中共有几个名字

方法:...new Map,map,values()
示例:
    let aar = [{id: 1, name: 'name1', value: 'value1'},{id: 1, name: 'name1', value: 'value2'},{id: 2, name: 'name2', value: 'value3'},{id: 2, name: 'name2', value: 'value4'},{id: 2, name: 'name2', value: 'value5'},{id: 1, name: 'name1', value: 'value6'},]
//对数组id和name都相同的数据去重, 并取出他的id和name值let list=[...new Map(aar.map(item => [`${item.id}-${item.name}`, {id: item.id, name: item.name}])).values()]console.log(list)

结果:

 2.获取数据源中包含此id数组的数据

用途:想要通过id数组来取得数据源中对应数据

方法:filter,map
示例:
    let arr = [{label: '11', value: '11', id: 1},{label: '22', value: '22', id: 2},{label: '33', value: '33', id: 3},{label: '44', value: '44', id: 4},{label: '55', value: '55', id: 5},]let ids = [1, 2]//取数据源中与此ids数组中id 相同的数据并且获取它的指定值(value)const matchedId1 = arr.filter(item => ids.includes(item.id)).map(item => item.value);//取数据源中与此ids数组中id 相同的对象const matchedId2 = arr.filter(item => ids.includes(item.id));console.log(matchedId1, matchedId2) //matchedId1:值 ,matchedId2:对象

 可直接获取指定值,或者获取其对象

结果:

3.判断此id在不在数组中

用途:做校验

方法:findIndex

findIndex()方法用于查找数组中满足条件的第一个元素的索引值。该方法会遍历数组,对每个元素执行回调函数,直到找到使回调函数返回true的元素,然后立即返回该元素的索引。如果遍历完整个数组都没有找到符合条件的元素,则返回-1。

语法:

array.findIndex(callback(element[, index[, array]])[, thisArg])

参数说明:

  • callback:必需,用于测试每个元素的函数
    • element:当前处理的元素
    • index:可选,当前元素的索引
    • array:可选,调用findIndex的数组本身
  • thisArg:可选,执行回调时用作this的对象
示例:
let arr = [{name: '小王', age: 18, id: 1},{name: '小李', age: 20, id: 2},{name: '小张', age: 19, id: 3},]const foundIndex = arr.findIndex(item => item.age == 19); //索引//foundIndex>-1 存在console.log(foundIndex); //输出的是索引

结果: 

注意事项:

  1. 该方法不会改变原数组
  2. 对于空数组,总是返回-1
  3. 当找到第一个满足条件的元素后就会停止遍历
  4. 未通过测试的元素不会执行回调函数

http://www.xdnf.cn/news/9947.html

相关文章:

  • Spring 核心知识点补充
  • 文档处理的相关工具
  • MMR搜索和LangChain整合Milvus实战
  • 小白的进阶之路系列之七----人工智能从初步到精通pytorch自动微分优化以及载入和保存模型
  • 高精度、高效率:正面吊箱号识别系统如何实现精准识别
  • 多模态大模型:开启智能决策的新时代
  • TimeoutException问题排查
  • 必会利器:scp 命令
  • Linux程序管理练习题
  • Python中的enumerate函数:优雅地遍历序列索引与元素
  • 一个开源脚本,可自动安装在 AMD Radeon 7900XTX 上运行选定 AI 接口所需的所有内容
  • 【Java Web】速通CSS
  • DeepSeek与AI提示语设计的全面指南
  • 使用大模型预测结节性甲状腺肿的全流程系统技术方案
  • 花哨桌面 V 3.0.0 (火影忍者版)
  • 模型评估指标详解:准确率、召回率、AUC 是什么?
  • WebVm:无需安装,一款可以在浏览器运行的 Linux 来了
  • 使用有名管道(FIFO)实现循环通信的客户端-服务端
  • 深入了解linux系统—— 库的链接和加载
  • 最大流-Ford-Fulkerson增广路径算法py/cpp/Java三语言实现
  • 春秋云镜 Brute4Road Writeup
  • 互联网商业模式全景解读:B2B、B2C、C2C及更多
  • docker常见考点
  • Qt 中的 d-pointer 与 p-pointer小结
  • 每日一题——提取服务器物料型号并统计出现次数
  • Jupyter Notebook 是否需要与环境绑定
  • [C]基础17.自定义类型:结构体
  • [ctfshow web入门] web124
  • `qDebug`消息重定向到`QLabel`中。
  • 安卓手机照片在这个目录/storage/emulated/999/DCIM/Camera下的导出解决方案