0
点赞
收藏
分享

微信扫一扫

循环操作中引用类型使用技巧


需求:在下方数组的title都要加上后盾人

// 原始for循环写法:<script>    let lessons = [        {title: '媒体查询响应市布局', category:'css'},        {title: 'FLEX弹性盒模型', category:'css'},        {title: 'MYSQL多表查询', category:'css'},    ]    // 原始写法    for (let i = 0; i<lessons.length; i++){      lessons[i].title = '后盾人' + lessons[i].title    }    console.log(lessons)</script>

// 模板字符串写法,显而易见,模板字符串写法更简洁<script>    let lessons = [        {title: '媒体查询响应市布局', category:'css'},        {title: 'FLEX弹性盒模型', category:'css'},        {title: 'MYSQL多表查询', category:'css'},    ]    // 模板字符串写法    for (let i = 0; i<lessons.length; i++){        lessons[i].title = `后盾人${lessons[i].title}`    }    console.log(lessons)</script>

循环操作中引用类型使用技巧_html

for... of...写法

<script>    let lessons = [        {title: '媒体查询响应市布局', category:'css'},        {title: 'FLEX弹性盒模型', category:'css'},        {title: 'MYSQL多表查询', category:'css'},    ]    // 这里的value就是每一行的值,如:{title: '媒体查询响应市布局', category:'css'},   for(value of lessons){       // 原始写法       // value.title = '后盾人' + value.title       // 模板字符串写法       value.title = `后端人${value.title}`   }   console.log(lessons)</script>

在这里要住一个细节,我们这里的value是个对象,它是个引用类型,所以我们这边再改变title的时候,他原数组也会跟着变了。

如果value是值类型,修改过后的原数组就依然不会变,比如:

<script>   let arr = [1,2,3];   for (let value of arr) {       value += 10;   }   console.log(arr); // 打印出来的值还是123,并没有加10</script>

循环操作中引用类型使用技巧_javascript_02

再看看for in 怎么写的?

<script>    let lessons = [        {title: '媒体查询响应市布局', category:'css'},        {title: 'FLEX弹性盒模型', category:'css'},        {title: 'MYSQL多表查询', category:'css'},    ]    // 这里的index相当于就是数组的索引,比如0,1,2   for(let index in lessons){       lessons[index].title = `后盾人${lessons[index].title}`   }   console.log(lessons)</script>

循环操作中引用类型使用技巧_css_03

举报

相关推荐

0 条评论