Vue3:使用解构赋值来读取对象里的键-值对(值也是对象)

news/2024/7/10 23:45:26 标签: javascript, vue.js, ES6, 解构赋值

一、前言

在Vue3中,想要读取一个对象的“键—值”对(值也是一个对象),数据格式如下:

javascript">{
 1:{courseName: '课程1', study: '951526', visit: '3785553'}2:{courseName: '课程2', study: '181630', visit: '380830'}3:{courseName: '课程3', study: '56097', visit: '37046'}4:{courseName: '课程4', study: '8639', visit: '6843'}5:{courseName: '课程5', study: '64882', visit: '60939'}
}

二、实现

要读取上述类型的数据,可以使用entries() 方法以及解构语法来遍历对象的“键—值”对。

1、entries(obj)方法
  • 参数obj是一个对象
javascript">Object.entries(obj)
2、核心代码
javascript">// 解构赋值:读取数据
for (const [key, courseData] of Object.entries(data.value)) {
  // console.log(`${courseData.courseName}`);
  study.push(courseData.study);
  course.push(`${courseData.courseName}`);
  visit.push(`${courseData.visit}`);
}
  • 代码解析:

使用entries() 方法,通过键去读取对象的每一个值;然后根据值里面的每个键再读取子对象里面对应的内容:
在这里插入图片描述

  • 把读取到的内容分别添加到数组中,结果如下:

在这里插入图片描述

3、完整代码
javascript"><template>
  <div></div>
</template>

<script>
import { ref } from "vue";
export default {
  setup() {
    const data = ref();
    data.value = {
      1: { courseName: "课程1", study: "951526", visit: "3785553" },
      2: { courseName: "课程2", study: "181630", visit: "380830" },
      3: { courseName: "课程3", study: "56097", visit: "37046" },
      4: { courseName: "课程4", study: "8639", visit: "6843" },
      5: { courseName: "课程5", study: "64882", visit: "60939" },
    };

    var course = [];
    var study = []; 
    var visit = []; 

    // 解构赋值:读取数据
    for (const [key, courseData] of Object.entries(data.value)) {
      // console.log(`${courseData.courseName}`);
      study.push(courseData.study);
      course.push(`${courseData.courseName}`);
      visit.push(`${courseData.visit}`);
    }
    console.log("course:", course);
    console.log("study:", study);
    console.log("visit:", visit);
  },
};
</script>

http://www.niftyadmin.cn/n/5321602.html

相关文章

模板与STL(C++)

七、模板与STL&#xff08;泛型编程&#xff09;7.1 模板的概念7.2 函数模板7.2.1 函数模板的定义7.2.2 函数模板的实例化7.2.3 模板参数7.2.4 函数模板的特化 7.3 类模板7.3.1 类模板的定义7.3.2 类模板实例化7.3.3 类模板特化 七、模板与STL&#xff08;泛型编程&#xff09;…

unity urp 视差卡牌

总体效果大概四层&#xff0c;从后往前排序为&#xff1a;卡背、背景、画像、边框 首先卡背比较简单&#xff0c;只要判断如果网格的背面就直接采样卡背图片展示即可 资源准备&#xff1a; 然后是背景&#xff0c;网上找到一张这样的图。 但他还不符合要求&#xff0c;我们的…

【ACL 2023】 The Art of Prompting Event Detection based on Type Specific Prompts

【ACL 2023】 The Art of Prompting: Event Detection based on Type Specific Prompts 论文&#xff1a;https://aclanthology.org/2023.acl-short.111/ 代码&#xff1a;https://github.com/VT-NLP/Event_APEX Abstract 我们比较了各种形式的提示来表示事件类型&#xff0…

力扣题目超出时间限制,String和StringBuilder

2182. 构造限制重复的字符串 简单说下遇到的问题&#xff0c;代码就不细说了&#xff08;在最后&#xff09;&#xff0c;遇到只有超出时间限制的问题&#xff0c;然后看那案例真的无语&#xff0c;但再怎么计算我代码的时间复杂度&#xff0c;大概也就是O&#xff08;n&#…

GDB调试指南

gcc在链接C代码时没有自动链接C标准库&#xff0c;因此链接失败。 可以添加-lstdc gcc -o helloworldplus helloworldplus.cpp -lstdc1、gdb调试 使用命令行参数 #include <stdio.h>int main(int argv,char *args[]){printf("argv %d\n",argv);for (int i…

北重T型槽平台厂家介绍铸铁平台在业界有怎样的优势

河北北重厂家简单介绍一下铸铁平台在业界具有哪些优势&#xff1a; 高强度&#xff1a;铸铁平台具有较高的强度和刚性&#xff0c;能够承受较大的重量和荷载。 耐磨性&#xff1a;铸铁平台表面通常经过处理&#xff0c;具有良好的耐磨性&#xff0c;能够在长期使用中保持平整和…

图片特效/增强GUI程序

程序下载地址&#xff1a;mendianyu/pictureConvert: 图片特效/增强GUI程序&#xff0c;借助百度接口实现人像动漫化&#xff0c;模糊图片变清晰等等功能 (github.com) 图片特效/增强GUI程序 借助百度接口实现人像动漫化&#xff0c;模糊图片变清晰等等功能 程序介绍 运行Ima…

Driver.js使用指南

Driver.js使用指南 备注&#xff1a; 本人使用版本"driver.js": “^1.3.1” import {driver} from driver.js; import driver.js/dist/driver.css; import {DriveStep} from driver.js; import {Config} from driver.js;export default driver; // 根据业务进行的封…