轻松实现Rust系统入门,实战编译器开发sffsa

download:​​轻松实现Rust系统入门,实战编译器开发​​ 在对数组或对象停止遍历时,我们经常会运用到两种办法: ​​for in​和​for of​​,那么这两种办法之间的区别是什么呢?让我们来研讨研讨 简单来说就是它们两者都能够用于遍历,不过​​for in​​遍历的是数组的索引(​​index​​),而​​for of​​遍历的是数组元素值(​​value​​) // for in var obj = {a:1, b:2, c:3} for (let key in obj) { console.log(key) } // a b c //for of const array1 = ['a', 'b', 'c'] for (const val of array1) { console.log(val) } // a b c 复制代码 先说说 for in ​​for in​​更合适遍历对象,当然也能够遍历数组,但是会存在一些问题, 比方: ​​index​​索引为字符串型数字,不能直接停止几何运算 var arr = [1,2,3] for (let index in arr) { let res = index + 1 console.log(res) } //01 11 21 复制代码 遍历次第有可能不是依照实践数组的内部次第 运用​​for in​​会遍历数组一切的可枚举属性,包括原型,假如不想遍历原型办法和属性的话,能够在循环内部判别一下,运用​​hasOwnProperty()​​办法能够判别某属性是不是该对象的实例属性 var arr = [1,2,3] Array.prototype.a = 123 for (let index in arr) { let res = arr[index] console.log(res) } //1 2 3 123 for(let index in arr) { if(arr.hasOwnProperty(index)){ let res = arr[index] console.log(res) } } // 1 2 3 复制代码 再来说说ES6 中的 for of ​​for of​​遍历的是数组元素值,而且​​for of​​遍历的只是数组内的元素,不包括原型属性和索引 var arr = [1,2,3] arr.a = 123 Array.prototype.a = 123 for (let value of arr) { console.log(value) } //1 2 3 复制代码 ​​for of​​适用遍历数/数组对象/字符串/​​map​​/​​set​​等具有迭代器对象(​​iterator​​)的汇合,但是不能遍历对象,由于没有迭代器对象,但假如想遍历对象的属性,你能够用​​for in​​循环(这也是它的本职工作)或用内建的​​Object.keys()​​办法 var myObject={   a:1,   b:2,   c:3 } for (var key of Object.keys(myObject)) { console.log(key + ": " + myObject[key]); } //a:1 b:2 c:3 复制代码 小结 ​​for in​​遍历的是数组的索引(即键名),而​​for of​​遍历的是数组元素值 ​​for in​​总是得到对象的​​key​​或数组、字符串的下标 ​​for of​​总是得到对象的​​value​​或数组、字符串的值

尚美源码坑位教程提供精美的网站源码教程,小程序、公众号、H5、APP、游戏、直播、支付、区块链、商城、影音、小说等源码信息大全。
尚美源码教程库 » 轻松实现Rust系统入门,实战编译器开发sffsa
赞助VIP 享更多特权,立即登录下载海量资源
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡