在 JavaScript 中有數值 (number)、字串 (string)、布林值 (boolean)、特殊型別 (null / undefined)、陣列 (array)、物件 (object)、函式 (function)
,這些可用的資料型別,在這裡我也不會一一說明這些型別,一來網路有很多寫的比我好的大神在,二來這是很基本的知識,您應該要會,我只分享當您接 API 時,得到一大包的資料時,您就要學會去分辨,請看以下範例表示。
以及要注意的是,觀察這些欄位的值,如果是數值 (number)
,哪該欄位的名稱,是否一眼就能看出這是數值 (number)
,依序舉例 ....
{
"message_code": null,
"result": {
"exception": [
{
"client_id": "MA3576",
"comment": "",
"created_at_utc": "2020/09/21 09:44:57",
"created_by": "vita@gmail.com",
"delivery_id": null,
"delivery_number": null,
"edi_event_code": "SD",
"edi_outbound_id": null,
"edi_sent_at_utc": null,
"edi_status_code": "NS",
"event_at": "2020/09/21 12:00:00",
"event_description": "Shipment Delayed",
"event_location": "INCHEON",
"id": 121,
"impacted_milestone": "AIR_SHIPMENT_ATD_ROUTE2",
"new_date": "2020/09/28 12:00:00",
"shipment_id": 379501,
"shipment_number": "CN120006864",
"status_description": "Normal Status",
"updated_at_utc": "2020/09/21 09:44:57",
"updated_by": "vita@gmail.com",
"vip_name": "React"
}
]
},
"total_item": 1
}
.
或[]
兩種方法。delete
,會使用這個方法,我目前是常使用在新建立一筆資料時,要送回去後端時,什麼 key 不能送,哪就會使用delete
來幫助我刪除掉不必要的值。const removeFakeField = (values) => {
const newValues = _.cloneDeep(values)
if (!_.isEmpty(newValues.kpi_exception_list)) {
newValues.kpi_exception_list.forEach((kpiException, index) => {
delete newValues.kpi_exception_list[index].fakeId // 請注意這就好
})
}
return newValues
}
length
、isArray
、toString
、sort
、map
、filter
、reduce
等等... 針對陣列的說明,之後會另外寫一篇文章來詳細介紹。typeof 'vita' // 'string'
typeof 123 // 'number'
typeof {} // 'object'
typeof [] // 'object'
typeof
判斷[]
or{}
其都會得到object
,故在 ES5 之後,陣列新增了一個isArray()
的方法來協助我們判斷。Array.isArray([]) // true
Array.isArray(['vita']) // true
Array.isArray({}) // false