2019年1月20日 星期日

【Ch7陣列】什麼是陣列(Array)? 查詢 in / indexOf


  • 陣列是一組有續集群,裡面有元素(element)索引(index)
  • 是一種特殊的物件,Zero based 從0開始最大到2^32-2
  • 元素不具型別,可以是任何型別。

▌陣列的特殊性

  • 稀疏性:可以不需要擁有連續的索引index
  • length:比元素還要多,可以根據需求自動擴充
  • 索引可以不是數字(因為array是特殊的物件),索引如果不是數字會被轉成字串,當成特性property 去查詢這個陣列物件。
Var a=[,,]沒有元素但是會得出length=2(因為可以尾隨逗點)
Var a = new array()
Var a =new array(10) /指定元素的數量,但是此時還沒有index
console.log(a.length); //10
console.log(a[0]); //undefined

▌查詢

  • instanceof Array:陣列跟物件用typeof分不出來,必須用instanceof Array查
var a = [1,2,3]
console.log(typeof a)  // object
console.log(a instanceof Array)  // trye
  • X in array:可以查詢索引(也就是物件的特性)
var a= [1,2,3,5]
console.log(3 in a)   //true
  • indexOf():從前面開始找,然後回傳索引
var a = [1,2,3,4,5]
console.log(a.indexOf(1))  //0
  • lastindexof():從後面開始找,然後回傳索引

沒有留言:

張貼留言

【JavaScript】用物件Mapping的方法

If的寫法 我們希望當變數是a時就回傳1,變數是b就回傳2,變數是c就會回傳3,一般寫法就是用if,但是這樣會很冗 ​ // IF style var word if(word == 'a'){ word = 1 } else if...