亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

今天在工作中碰到一個JS中 for ...in 的問題

今天在工作中碰到一個JS中 for ...in 的問題

PIPIONE 2018-09-08 19:14:27
var s = [     {name: 'arron'},     {name: 'arron'} ]var t = {    name: 'arron',    age: 23}for( x in s ) {    console.log(typeof x) }for( x in t ) {    console.log(typeof x) }// 結果輸出的類型都是string.不是很理解這個類型為何是string,之前一直以為是Number類型的,特別是數組遍歷的時候,求教
查看完整描述

1 回答

?
呼喚遠方

TA貢獻1856條經驗 獲得超11個贊

第一,你在遍歷數組使用的是in,遍歷出的是數據的索引,1,2,而且,JavaScript中規定,數組和對象的鍵名都是字符串,因此你遍歷出的索引1,2都是字符串,也就是"1","2",所以輸出的類型都是string。

第二,你在遍歷對象也是一樣,遍歷出的是對象的屬性名,屬性名也是字符串,所以輸出的類型也是string,應該typeof t[x]才是你想要的結果。

第三,數組遍歷推薦使用普通的for
因為數組是內建對象,in操作符會遍歷數組的其他屬性,如

var arr = [1,2,3];
arr.a = "str";for(i in arr){  console.log(arr[i]);    // 1,2,3,str}


查看完整回答
反對 回復 2018-10-29
  • 1 回答
  • 0 關注
  • 516 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號