for in 和 for of 的區別
最近突然發現雖然整天做專案,但是基礎的東西忘得越來越多了,所以我準備沒事就回顧回顧基礎知識,今天來回顧一下for in 和for of的區別
首先來看for in
for in 可以用來遍歷陣列,但是會有以下幾個問題
1.index索引為字串型數字,不能直接進行幾何運算
2.遍歷順序有可能不是按照實際陣列的內部順序
3.使用for in會遍歷陣列所有的可列舉屬性,例如下面例子上的原型方法method和name屬性都會被遍歷出來
Array.prototype.method = function(){ console.log(for (var key in myArray) { console.log(key) }this.length) } var myArray = [1,2,3,4,5] myArray.name = "陣列"
運送結果:
如果我們不想要method和name呢,這樣的話我們可以使用ES6的for of
特別注意:for in 遍歷的是陣列的索引(即鍵名),for of遍歷的是value值
相關推薦
for..in 和 for...of 的區別
ttr display ... isp 定義 執行 可叠代對象 ring ole for...of 是ES6出現的 循環遍歷的是值 語句在可叠代對象(包括 Array, Map, Set, String, TypedArray,arguments 對象等等)上創建一個叠代循
五分鐘掌握 for...in 和 for...of 區別
GitHub 地址,歡迎star,檢視更多整理的前端知識 for...in for...in 語句以任意順序遍歷一個物件的可列舉屬性。 for...in 遍歷物件本身的所有可列舉屬性,以及物件從其建構函式原型中繼承的屬性。 for (variable in object) {...} var
for in 和 for of 的區別
最近突然發現雖然整天做專案,但是基礎的東西忘得越來越多了,所以我準備沒事就回顧回顧基礎知識,今天來回顧一下for in 和for of的區別 首先來看for in for in 可以用來遍歷陣列,但是會有以下幾個問題 1.index索引為字串型數字,不能直接進行幾何運
for in 和 for of的區別詳解
for in 和 for of 相對於大家肯定都不陌生,都是用來遍歷屬性的沒錯。那麼先看下面的一個例子: 例1 const obj = { a: 1, b: 2, c: 3 } for (let i in obj) {
[樂意黎原創]JS裡的for…in和for…of的用法與區別
for...in 迴圈for...in 語句用於遍歷陣列或者物件的屬性(對陣列或者物件的屬性進行迴圈操作)。for...in 語句用於對陣列或者物件的屬性進行迴圈操作。for ... in 迴圈中的程式碼每執行一次,就會對陣列的元素或者物件的屬性進行一次操作。for...in
for-in 和 for-of 的區別
1. for-in迴圈 for-in迴圈主要用於遍歷物件,for()中的格式:for(keys in zhangsan){} keys表示obj物件的每一個鍵值對的鍵!!所有迴圈中,需要使用obj[keys]來取到每一個值!!!for-in 迴圈,遍歷時不僅
[每日一題]面試官問:for in和for of 的區別和原理?
關注「鬆寶寫程式碼」,精選好文,每日一題 時間永遠是自己的 每分每秒也都是為自己的將來鋪墊和增值 >作者:saucxs | songEagle ## 一、前言 2020.12.23 日剛立的 flag,每日一題,題目型別不限制,可以是:演算法題,面試題,闡述題等等。 本文是「每日一題」第 7
關於JSON類的兩個用途與for..in和for循環的區別
進行 length 區別 prop per str 字符 number stringify JSON 這個類的兩個用途: 1)將Object 對象,轉換成string 類型 var obj = {"a":"1","b":"2","c":"json"}; var
for-in和for-of,forEach和Map
循環對象 共同點 school 遍歷 fine 不能 name pre 包括 for-in和for-of 1. for-in循環實際是為循環”enumerable“對象而設計的,是用來循環帶有字符串key的對象的。 使用for in會遍歷數組所有的可枚舉屬性,包
forEach、for...in和for..of比較
forEach是遍歷陣列中的值: var arr=['one','two','three']; arr.forEach(function(value){ console.log(value); }) //one //two //three 這種寫法的問題在於,無法中途跳出forE
js遍歷物件、遍歷陣列、js陣列方法大全、區分map()和forEach()以及filter()、區分for...in...和for...of...
1、給物件新增屬性:使用 object.prop 或object['prop'] 給物件新增屬性 let obj={}; obj.name="zhangsan"; obj["age"]=23; obj["class"]="語文"; console.log(obj
for、for in和for of
Array、Object、Set、Map四種資料結構中for、for in和for of迴圈的區別? 一、普通for迴圈在Array和Object中都可以使用。 二、for in在Array和Object中都可以使用。 注意:在物件中包含原型上的屬性
Javascript 中 的 for ... in 和 for ... of 差別
Javascript 中 的 for ... in 和 for ... of 差別 for ... in 是歷史問題,在迴圈資料時會可以出現奇怪的問題,比如把資料的屬性迴圈出來。 for ... of 是 ES6 解決歷史問題而出的。 以下程式碼可以看出區別 <script>
for、for...in、for...of、forEach和map之間的區別
遍歷陣列 //for…in遍歷屬性名稱key,for…of遍歷屬性值value let arr=[a,b,c]; for(let i=0; i<arr.length; i++){ console.log(i) //a,b,c 最早學會使用的 }
for in、for和EnumerateObjectsUsingBlock遍歷的區別
value cts mut 很多 普通 使用 keys bsp 枚舉 1.對於集合中對象數很多的情況下,for in 的遍歷速度非常之快,但小規模的遍歷並不明顯(還沒普通for循環快) 2. 如果在for in 循環裏,對這個數組進行了修改的話,無論是增,刪,修改數組
for for in與for of區別
我們一般用for迴圈來遍歷陣列,因它可以按順序的返回每一個索引的值或者索引 ,for迴圈並不能遍歷物件。 for in 用來遍歷物件及其原型鏈上的可列舉屬性,而且它的遍歷結果不一定是按照順序來的。 就比如說 如果陣列長度中存在空值或者undefined ,那麼for in 會直接忽略它,迭代下一個屬性。並
for...in、for...of、forEach、map的區別
for…in for…in以原始插入順序訪問物件的可列舉屬性,包括從原型繼承而來的可列舉屬性。 let obj = { a:123, b:"abc" } for(let pro in obj){ console.log(pro+':' + obj[pro]
JS中 for in 與 for of的區別
最直接的區別就是: for in遍歷的是陣列的索引(即鍵名), 而for of遍歷的是陣列元素值。 Array.prototype.method=function(){} var myArray=[1,2,4]; myArray.name="陣列"; for (var
for...in與for...of的區別
for...in 1.遍歷物件的可列舉屬性(屬性描述符enumerable為true的屬性,通過Object.defineProperty(obj,prop,descriptor)修改,通過obj.p
for、forEach 、for in、for of 迴圈的區別
很基礎的東西,記錄下來方便自己 for:遍歷陣列 //物件陣列 var arr = [ {Monday: '星期一', Monday: '星期二', Wednesday: '星期三'} ] for (var i=0; i<arr.length;i+