當把資料接收回來,就應該要開始處理他們了, JS 世界中較常遇到的資料有
在JS中是以字串格式呈現,花括號( { } )內用雙引號( " )包覆每個字,再用單引號( ' )包覆
把 單引號( ' ) 移除,你會發現 Json 和物件非常相似,只差別在於雙引號( " ),故兩者是可以轉換的!
Json 用於資料交換,再後續介紹到 HttpClient ,就會再跟大家見面了
Key/Value 呈現
JSON.parse(Json):Json 轉為 Object
JSON.stringify(Object):Object 轉為 Json
src\app\app.component.ts
-----
jsonData = '{"name":"poychuang","age":"24"}' ; //Json
objectData = {name:'poychuang',age:24}; //Object
一個串接一個,使用 , 分隔
src\app\app.component.ts
-----
stringArray = ['hello', 'holla', 'ha', 'hi', 'hu'];
jsonData = '{"name":"poychuang","age":"24"}';
既然傳送資料是使用 Json ,為何要先介紹 Array ,因為大部分的資料都是一組定義好的相同資料,像是上面的 jsonData ,而系統會有很多人 Key in ,最簡單的紀錄方式就是用陣列去串,既然資料在陣列中,自然就先要了解 陣列如何使用!
在了解 Array 前,說個在面試被考到的題目:說明深拷貝和淺拷貝的不同
深拷貝:複製出來的物件是全新的物件
淺拷貝:複製出來的物件是參照的物件
就像是郵局的戶頭有10,000元(代號:A)
深拷貝:複製出來的物件像是郵局戶頭(代號:B),刷1,000元
A剩 10,000元;B剩9,000元
淺拷貝:複製出來的物件像是提款卡(代號:C),刷1,000元
A剩9,000元;C剩9,000元
Array.prototype.concat()
var new_array = old_array.concat(value1[, value2[, ...[, valueN]]])
Array.isArray()
Array.isArray(obj)
Array.prototype.filter()
var newArray = arr.filter(callback[, thisArg])
Array.prototype.find()
arr.find(callback[, thisArg])
Array.prototype.findIndex()
arr.findIndex(callback[, thisArg])
Array.prototype.forEach()
arr.forEach(function callback(currentValue[, index[, array]]) {//你的程式碼}[, thisArg]);
Array.prototype.map()
var new_array = arr.map(function callback(currentValue[, index[, array]]) {// Return element for new_array}[, thisArg])
Array.prototype.push()
arr.push(element1[, ...[, elementN]])
Array.prototype.splice()
array.splice(start[, deleteCount[, item1[, item2[, ...]]]])
https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Reference/Global_Objects/Array