下方為範例陣列
const orders = [
{
name: "Janni",
id: 123456789,
},
{
name: "Unayo",
id: 987654321,
}
];
透過陣列方法 findIndex 可以獲取符合條件的索引值,回傳 0
,
如果找不到符合條件的索引值,就會回傳 -1
使用時需要留意型別,如果型別錯誤將找不到該筆資料
(HTML 內取出的皆為字串型別)
下方 JavaScript 示範: 透過 findIndex 找出符合『 id 為 123456789 』條件的索引值
let index = orders.findIndex((item) => item.id === 123456789 );
console.log(index)
// 輸出結果為 0
//以下是錯誤的寫法:
//假設真的遇到需處理字串的型別:
//建議使用 1. 雙等於 或是 2. 將資料轉換成數字後 再做比較
let indexError = orders.findIndex((item) => item.id === "123456789" );
console.log(indexError)
// -1 找不到 因為兩者型別不同
使用 splice 方法,透過回傳的索引值去刪除該筆資料即可:
let index = orders.findIndex((item) => item.id === 123456789 );
orders.splice(index, 1);
console.log(orders)
JS