Vue基础(12)_Vue.js循环语句用法:列表渲染

article/2025/6/23 9:44:45

js补充

术语解释
循环(loop):最基础的概念, 所有重复的行为。
递归(recursion): 在函数内调用自身, 将复杂情况逐步转化成基本情况。
(数学)迭代(iterate) :在多次循环中逐步接近结果。
(编程)迭代(iterate) :按顺序访问线性结构中的每一项。
遍历(traversal) :按规则访问非线性结构中的每一项。

for...in 循环【ES5】

for...in 语句迭代一个对象的所有可枚举字符串属性(除 Symbol 以外),包括继承的可枚举属性。
语法:
for (variable in object){
... 
}
参数:
variable:在每次迭代时接收一个字符串属性名。它可以通过使用 const、let 或 var 进行声明,也可以是一个赋值目标(例如,先前声明的变量、对象属性或解构模式)。使用 var 声明的变量不会局限于循环内部,即它们与 for...in 循环所在的作用域相同。
object:被迭代非符号可枚举属性的对象。

for of 循环【ES6】

for...of 语句执行一个循环,该循环处理来自可迭代对象的值序列。可迭代对象包括内置对象的实例,例如 ArrayStringTypedArrayMapSetNodeList(以及其他 DOM 集合),还包括 arguments 对象、由生成器函数生成的生成器,以及用户定义的可迭代对象。

语法:
for (variable of iterable){
...
}
参数:
variable:每次迭代时从序列接收一个。可以是用 const、let 或 var 声明的变量,也可以是赋值目标(例如之前声明的变量、对象属性或解构模式)。使用 var 声明的变量不会局限于循环内部,即它们与 for...of 循环所在的作用域相同。
iterable:可迭代对象。循环操作的序列值的来源。

for...of 与 for...in 之间的区别

for...in 和 for...of 语句都用于迭代某个内容,它们之间的主要区别在于迭代的对象。for...in 语句用于迭代对象的可枚举字符串属性,而 for...of 语句用于迭代可迭代对象定义的要进行迭代的值

举例:

        Object.prototype.objCustom = function () { };Array.prototype.arrCustom = function () { };const iterable = [3, 5, 7];iterable.foo = "hello";for (const i in iterable) {console.log(i);}// "0"、"1"、"2"、"foo"、"arrCustom"、"objCustom"for (const i in iterable) {if (Object.hasOwn(iterable, i)) {console.log(i);}}// "0" "1" "2" "foo"for (const i of iterable) {console.log(i);}// 3 5 7

分析:

1、iterable 对象继承了 objCustom 和 arrCustom 属性,因为其原型链中同时包含了 Object.prototype 和 Array.prototype。

2、for...in 循环仅打印了 iterable 对象的可枚举属性。它不会打印数组中的元素 3、5、7 或 "hello",因为它们不是属性,而是值。它打印了数组的索以及 arrCustom 和 objCustom,它们是实际的属性。

3、第二个循环与第一个循环类似,但它使用 Object.hasOwn() 来检查找到的可枚举属性是否为对象的自有属性,即非继承属性。如果是,则打印该属性。属性 0、1、2 和 foo 被打印,因为它们是自有属性。属性 arrCustom 和 objCustom 没有被打印,因为它们是继承属性。

4、for...of 循环迭代并打印 iterable 按照数组(数组是可迭代的)定义要进行迭代的值。对象的元素 3、5、7 被打印,但对象的属性没有被打印。

Vue.js 循环语句用法:列表渲染

在 Vue 中,循环语句主要通过 v-for 指令来实现,用于遍历数组或对象,生成对应数量的元素。在元素上使用 v-for 指令,根据源数据的数组或对象进行循环渲染元素。

遍历数组:

v-for="(item, index) in items" :key="..."   

可选值:index

遍历对象:

v-for="(value, key, index) in object" :key="..."  

可选值:key、index

可遍历:数组、对象、字符串(用的很少)、指定次数(用的很少)。
key 的作用: 使用 v-for 渲染列表时,必须为每个项提供一个唯一的 key 属性,以便 Vue 能够识别每个项的唯一性,从而进行高效的 DOM 更新
​嵌套循环: 可以嵌套使用多个 v-for 来渲染多维数组或对象结构。
补充:v-for 中的 in 和 of 是遍历数据时的两个常用关键字,它们的主要区别在于:in 更通用,可以遍历数组、对象和整数范围;而 of 专注于遍历可迭代对象(如数组、字符串、Set、Map 等)。

举例:

<!DOCTYPE html>
<html lang="zh"><head><meta charset="UTF-8"><title>Vue.js循环语句用法:列表渲染</title><script type="text/javascript" src="../js/vue.js"></script>
</head><body><div id="root"><h2 style="color:chocolate;">Vue.js循环语句用法:列表渲染</h2><!-- 遍历对象数组 --><h3>遍历人员列表</h3><ul><li v-for="p in persons" :key="p.id">{{p.id}}--{{p.name}}-{{p.age}}</li></ul><!-- 遍历对象 --><h3>遍历汽车信息</h3><ul><li v-for="(value,key,index) in car" :key="key">{{index}}--{{key}}--{{value}}</li></ul><!-- 遍历字符串(用的很少) --><h3>遍历字符串(用的很少)</h3><ul><li v-for="(char,index) in str" :key="index">{{index}}--{{char}}</li></ul><!-- 遍历指定次数(用的很少) --><h3>遍历指定次数(用的很少)</h3><ul><!-- 遍历5次 --><li v-for="(number,index) in 5" :key="index">{{index}}--{{number}}</li></ul></div><script>new Vue({el: '#root',data: {persons: [{ id: '001', name: '张三', age: 21 },{ id: '002', name: '李四', age: 22 },{ id: '003', name: '王五', age: 23 }],car: {name: '奥迪A8',price: '70万',color: '蓝色'},str: 'hello'}})</script>
</body></html>


http://www.hkcw.cn/article/HtfivYQwrl.shtml

相关文章

山西女子被送养36年后找到亲生父母 当事人:想过个真正的生日

程姗是被亲弟弟背进家门的,36年了,这是她第一次回家。6月1日上午,锣鼓声惊醒了忻州市解村的一条小巷,寻亲志愿者朱玉堂牵着程姗的手说:“来,回家。”程姗被簇拥着,伏在弟弟的背上,去往家的方向。程姗是姜家的第二个女儿,1989年农历二月初三出生,因父母交不起超生罚款…

奥地利年人均咖啡消费预测 咖啡热爱升级

奥地利人对咖啡情有独钟。根据国际消费品巨头Tchibo公司的一项最新调查,今年奥地利人均咖啡消费预计将超过1000杯,相比去年的日均2.65杯,这一数字今年上升至2.75杯。在咖啡饮用群体中,50至59岁年龄段的人最热衷,日均消费量达到3.24杯。相比之下,年轻一代的15至29岁人群日…

【头歌实验】Keras机器翻译实战

【头歌实验】Keras机器翻译实战 第1关&#xff1a;加载原始数据 编程要求 根据提示&#xff0c;在右侧编辑器补充代码&#xff0c;实现load_data函数&#xff0c;该函数需要加载path所代表的文件中的数据&#xff0c;并将文件中所有的内容按\n分割&#xff0c;转换成一个列表…

MCP调研

什么是 MCP MCP&#xff08;Model Context Protocol&#xff0c;模型上下文协议&#xff09;&#xff0c;是由 Anthropic 在 2024 年 11 月底推出的开放标准协议&#xff0c;旨在统一大型语言模型&#xff08;LLM&#xff09;与外部数据源、工具的通信方式。MCP 的主要目的在于…

车载软件更新 --- 数据完整性和正确性策略(数据验签事宜汇总)

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…

黄子韬将在斯里兰卡“交换人生” 体验异国文化魅力

黄子韬与妻子徐艺洋将参加中外文化交流纪实节目《小伙小妹换游记》,前往坦桑尼亚和斯里兰卡,体验异国生活。该节目采用双线叙事模式,记录中外青年在同一时间、不同国家的全新生活。节目将于6月5日在芒果TV播出。预告片展示了来自坦桑尼亚原始部落的青年Noel和从事矿业工作的…

小米门店开启YU7静态品鉴 全国92城陆续展示

小米门店开启YU7静态品鉴 全国92城陆续展示。今日,小米YU7已陆续到达北京多家门店。社交媒体上,相关门店的官方号于凌晨开启直播,即便是在凌晨1点,直播间内仍有大量观众围观。从小米汽车销售处了解到,目前YU7仅支持静态展示,试乘试驾的具体时间尚未确定,可能要等到正式上…

港股黄金股走强 中国白银集团涨超9% 避险情绪助推金价上涨

港股黄金股走强 中国白银集团涨超9% 避险情绪助推金价上涨!港股黄金股持续上涨,中国白银集团涨幅接近8%,紫金矿业涨幅超过3%,中国黄金国际股价再创新高,招金矿业和赤峰黄金也跟随上涨。金价周一攀升超过2%,纽约期金上涨2.7%至每盎司3400美元以上,白银价格上涨超过5%,纽…

张百乔终于离开配角和反派赛道!演技获陈凯歌高度评价!

张百乔终于离开配角和反派赛道!演技获陈凯歌高度评价,首演《三大队》翻拍片段男一号“程兵”,张百乔:一定要发朋友圈这可是凯歌导演的男一号啊!责任编辑:zx0002

专家称汽车从来都不是价格越低越好 价格战背后的风险

专家称汽车从来都不是价格越低越好 价格战背后的风险!最近车圈里硝烟弥漫的“价格战”席卷了整个市场。各路车企为了争夺地盘,纷纷亮出降价这一杀手锏。尤其是新能源车型,更是将“价格屠夫”的名号演绎到了极致。比亚迪又一次出手,秦PLUS DM-i智驾版限时补贴后价格跌破7万元…

日本女星滨崎步否认与马斯克有孩子 谣言四起引发猜测

日本女星滨崎步否认与马斯克有孩子 谣言四起引发猜测!埃隆马斯克近日被曝出曾与日本流行巨星育有子女,这一消息震惊了全美。《纽约时报》报道,这位一直警示少子化危机的企业家甚至表示愿意为提高生育率向任何人提供精子。据报道,马斯克在特朗普政府担任要职期间曾大量使用药…

黄杨钿甜主演《冰湖重生》陷播出争议 家庭风波牵连剧集命运

近日,17岁女星黄杨钿甜因佩戴“天价耳环”引发关注。当地通报其父亲杨某在雅安工作期间涉嫌违规经商办企业问题,在参加公开招录公务员考试和工作期间涉嫌故意隐瞒违法生育二孩问题,监察机关已立案调查。随后,关于黄杨钿甜主演的电视剧《冰湖重生》能否顺利播出也成为焦点话…

15.MQTT协议和云平台(ESP8266)

目录 MQTT 协议 什么是 MQTT 协议 为什么学习 MQTT MQTT 的相关术语 ​编辑MQTT 报文有哪些 MQTT 协议分为哪几部分组成 固定报头 哪些报文有固定报头 固定报头有哪些组成 剩余长度如何计算 固定报头的长度范围 可变报头 哪些报文有可变报头 可变报头有哪些组成 有效载荷…

文件索引:数组、二叉树、二叉排序树、平衡树、红黑树、B树、B+树

参考链接&#xff1a;https://www.bilibili.com/video/BV1mY4y1W7pS 数据结构可视化工具&#xff1a;https://www.cs.usfca.edu/~galles/visualization/Algorithms.html 问题引出&#xff1a;一般是什么原因导致从磁盘查找数据效率低&#xff1f; 通过索引来更快的查询数据&a…

制作开发AI试衣换装小程序系统介绍

AI试衣换装小程序系统主要主要用于用户通过AI试衣换装小程序&#xff0c;上传自己想要试穿的衣服和自己的模特照片、选择上衣、裤子、裙子、帽子、鞋子、耳环。一键生成换装成自己试穿衣服的照片。 ai换装试衣小程序系统的主要功能模块有&#xff1a;账号注册登录、会员中心、照…

I2C Host Adapter (1)

是一家领先的嵌入式系统工具供应商&#xff0c;可简化各种通信协议的开发和调试。公司提供一系列产品&#xff0c;旨在帮助工程师和开发人员更高效地使用 I3C、I2C等协议。 I2C协议诞生到现在已经快50年了&#xff0c;然而现有市面上的I2C Adapter还没有简单好用&#xff0c;可…

Linux系统查看指定进程ID(PID)的详细信息

在Linux系统中&#xff0c;查看指定进程ID&#xff08;PID&#xff09;的详细信息可通过多种命令实现&#xff0c;以下是常用方法及操作步骤&#xff1a; &#x1f50d; 一、基础信息查看 1. ​​ps 命令​​ ps -p <PID> -o pid,ppid,user,%cpu,%mem,cmd,stat,time #…

计算机视觉---YOLOv6

一、YOLOv6 背景与定位 YOLOv6 由美团视觉团队开发&#xff0c;于 2022 年 6 月开源&#xff0c;定位为工业级实时目标检测模型。其设计目标是在精度与速度之间实现更优平衡&#xff0c;尤其针对 GPU 和边缘设备优化&#xff0c;适合工业检测、自动驾驶、安防等场景。相比 YOL…

Linux中的mysql逻辑备份与恢复

一、安装mysql社区服务 二、数据库的介绍 三、备份类型和备份工具 一、安装mysql社区服务 这是小编自己写的&#xff0c;没有安装的去看看 Linux换源以及yum安装nginx和mysql-CSDN博客 二、数据库的介绍 2.1 数据库的组成 数据库是一堆物理文件的集合&#xff0c;主要包括…

mysql(十四)

目录 多表查询 1.准备工作 2--创建表格 3--插入数据 2.笛卡尔积查询 3.内连接查询 1--隐式内连接 格式 查询 2--显示内连接&#xff08;Inner join .. on &#xff09; 格式 查询 4.外连接查询 1--左外连接查询&#xff08;LEFT OUTER JOIN .. ON &#xff09; 格式 查询 2-- 右…