iT邦幫忙

2023 iThome 鐵人賽

0
Modern Web

React Native的學習與實作系列 第 13

【Day13】API請求與資料處理(2)

  • 分享至 

  • xImage
  •  

本篇將探討React Native中資料處理的技巧,包括數組操作、對象操作和資料篩選。

1.數組操作

數組(array)是按次序排列的一組值。每個值的位置都有編號(從0開始),整個數組用方括號表示,

  • 除了在定義時賦值,數組也可以先定義後賦值
  • 任何類型的數據,都可以放入數組
    (1)通過索引訪問數組元素
//通過索引訪問數組中的元素
const item = array[0];
console.log(item);//輸出0

注意:JavaScript中對數組越界操作沒有異常處理

const array = [1,2,3,4];
console.log(array[5]);//不顯示錯誤,輸出undefined

(2)通過數組索引,可以修改數組中元素值

const array = [1,2,3,4];
array[0] = 5;
console.log(array[0]);//輸出為5

注意:對越界修改數組的值,會改變數組長度,且為賦值的元素為undefined。不建議這樣使用

const array = [1,2,3,4];
array[5] = 6;
console.log(array);//輸出結果為[1,2,3,4,undefined,6]

(3)push和pop

//push()向數組末尾添加元素
const array = [1,2,3,4];
array.push(5);
console.log(array);//輸出結果[1,2,3,4,5]

//pop()從數組末尾刪除元素
const array = [1,2,3,4];
array.pop();
console.log(array);//輸出結果[1,2,3];

(4)splice
該方法可以炒作數組在指定位置廷加或刪除元素

//删除指定元素
//splice(index,length)從index位置開始刪除長度為length
const array = [1,2,3,4];
array.splice(1,1);//從下標1開始刪除一個元素,即把2刪除
console.log(array);//輸出結果[1,3,4]
//添加指定元素
//splice(index,0,item1,item2,...),表示從index位置開始添加各元素,其他元素後移
const array = [1,2,3,4];
array.splice(1,0,5);
console.log(array);//輸出結果[1,5,2,3,4]
//同時操作,添加刪除
const array = [1,2,3,4];
array.splice(1,1,5);
console.log(array);//輸出結果[1,5,3,4]

2.對象操作

對象操作是指在 JavaScript 中對物件(Object)進行各種操作的技術。這些操作包括屬性提取、合併和解構等。
(1)屬性提取(Property Extraction)
在 JavaScript 中,我們可以使用點標記法(dot notation)或方括號表示法(bracket notation)提取物件的屬性值。例如:

const person = {
  name: 'John',
  age: 30,
  city: 'New York'
};

// 使用點標記法提取屬性值
const personName = person.name;

// 使用方括號表示法提取屬性值
const personAge = person['age'];

這樣,我們就可以根據物件的屬性名稱來提取對應的值。
(2)合併(Object Merging)
在某些情況下,我們需要將兩個或多個物件合併成一個新的物件。這可以使用 ES6 的擴展運算符(spread operator)來實現:

const obj1 = { a: 1, b: 2 };
const obj2 = { b: 3, c: 4 };

// 合併兩個物件
const mergedObject = { ...obj1, ...obj2 };

// 結果:{ a: 1, b: 3, c: 4 }

這樣,<mergedObject> 將包含 <obj1><obj2> 的所有屬性。
(3)解構(Object Destructuring)
解構是一種從物件中提取屬性並創建變數的方法。這使得我們可以更方便地訪問和使用物件的屬性:

const person = {
  name: 'Alice',
  age: 25,
  city: 'London'
};

// 使用解構從物件中提取屬性
const { name, age } = person;

console.log(name);  // 'Alice'
console.log(age);   // 25

在上述例子中,<name><age> 變數將分別被賦值為 <person> 物件中對應的屬性值。
這些對象操作技術使得在 JavaScript 中處理和操作物件變得更加方便和靈活。這對於 React Native 中處理 API 回應或其他數據操作非常有用。

3.資料篩選

資料篩選是指根據特定條件過濾數據集合,以獲取滿足條件的子集。這是在程式開發和資料處理中常見的操作,用於快速獲取、顯示或處理需要的資訊。

在React Native或其他JavaScript環境中,資料篩選通常使用陣列的<filter>方法來實現。以下是一個簡單的例子,演示如何根據特定條件篩選一個陣列:

// 原始陣列
const users = [
  { id: 1, name: 'John', age: 25 },
  { id: 2, name: 'Jane', age: 30 },
  { id: 3, name: 'Bob', age: 22 },
  { id: 4, name: 'Alice', age: 28 },
];

// 根據條件篩選資料(例如,選擇年齡大於25的使用者)
const filteredUsers = users.filter(user => user.age > 25);

console.log(filteredUsers);

在這個例子中,<filter>方法接受一個回調函式,這個回調函式定義了資料篩選的條件。在這裡,我們選擇了年齡大於25的使用者。<filteredUsers>最終將包含符合條件的使用者對象。

資料篩選的應用範圍很廣泛,你可以根據不同的需求設定不同的條件,比如篩選商品列表、過濾搜索結果、顯示符合特定標準的數據等。

在實際應用中,資料篩選可能會與React Native應用程序的狀態管理結合使用,以實現動態篩選和即時更新界面的功能。這可以通過更新應用程序的狀態,再使用狀態中的數據來重新渲染UI元素。
參考資料:https://tuomaxu.gitbooks.io/reactnative/content/es6yu-fa-ji-chu/shu-zu.html


上一篇
【Day12】API請求與資料處理(1)
下一篇
【Day14】API請求與資料處理(3)
系列文
React Native的學習與實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言