所有基本型別以外的值都是物件!
一個物件可以是零至多種屬性的集合,屬性就是鍵(KEY)和值(Value)。
舉例像是寶特瓶和水,寶特瓶就是KEY而水就是VALUE!
一個值可以是某種基本型別,當然也可以是物件或函數。
物件可以透過new或{}
大括號來建立一個物件實體。
var ck = new Object( )
ck.name = 'CK'
ck.hello = function() {
alert(`hello ${ck.name}`)
}
用大括號建立的稱為物件實字(Object literal)
var ck = {
name: 'CK',
job: 'JS',
hello: function() {
alert(`hello ${ck.name}`)
}
}
可以透過點.
或中括號[]
ck.name // CK
ck.hello() // hello CK
ck["name"] // CK
ck["hello"]() // hello CK
直接使用等號=
指定即可
var ck = {
name: 'CK'
}
ck.age = 24
ck.age // 24
.delete
var ck = {
name: 'CK',
favorite:'drink'
}
ck.favorite = 'eat'
delete ck.favorite
ck.favorite // 刪除屬性變成undefined
let a = new Array()
a[0] = 'ck'
a[1] = 'yang'
但現在比較常用陣列實字(Array literal)
let a = []
a = ['ck','yang']
let b = ['ok','bang']
陣列取值方式一樣是用中括號[]
let a = [1,2,3]
console.log(a[0]) // 1
將陣列新增值的方式有很多種,先介紹幾種常用的方法
.push
加入值到陣列末端
let a = [1,2,3]
a.push(4)
console.log(a) // [1,2,3,4]
unshift
加入值到陣列前端
let a = [1,2]
a.unshift(3)
console.log(a) // [3,1,2]
.pop()
移除陣列末端值
let a = [1,2,3]
a.pop()
console.log(a) // [1,2]
.shift()
移除陣列前端值
let a = [1,2,3]
a.shift()
console.log(a) // [2,3]
.length
let a = [1,2,3]
console.log(a.length) // 3
:exclamation:這邊提及一下.length
其實可以被覆寫喔!
let a = [1,2,3]
a.length = 1
console.log(a) // 印出 [1]
這時候如果再把長度改回3會發生奇怪的事情....
let a = [1,2,3]
a.length = 1
console.log(a) // 印出 [1]
a.length = 3
console.log(a) // 印出 [1,underfined,underfined]
因為你今天如果覆寫了.length
,等於是你已經刪除掉後面幾筆資料了,所以當你在試寫回來的時候資料已經不見,才會出現underfined
如果新增的值位置寫得太過靠後,中間沒有值的欄位也都會是underfined
let a = [1,2,3]
a[4] = 'b'
console.log(a) // 印出 [1, 2, 3, undefined, "b"]
.indexOf()
let a = ['ck','yang','fat']
let index = a.indexOf('yang');
console.log(index) // 1
.splice()
.splice(起始位置,從起始位置算起往後要刪除幾個項目)
切記,如果使用後原始陣列會被改變喔!
let a = ['ck','yang','fat','cc']
let index = a.indexOf('yang'); // 1
let remove = a.splice(index,2)
console.log(a) // ['ck','cc']
console.log(remove) // ['yang','fat']
.slice()
let a = ['ck','yang','fat','cc']
let b = a.slice()
console.log(b) // ['ck','yang','fat','cc']
以上大概就是物件跟陣列的操作方式,這次想試試看新的方式來統整上方的文章XD
物件就是key和value,要建立使用大括號和new
要查詢就用點或中括號+key找你所要的value。
物件新增很簡單,只要一個等號就搞定,你說刪除呢?只要一個delete。
一個中括號就代表陣列,把值塞進去就像是在排隊,號碼牌從零開始給如果要拿值,請看是幾號位。
如果想進來,push乖乖排隊,unshift直接插到最前面。
最後一位等太久不想排了就請pop走,有人插隊沒禮貌,大招shift請他走!