2024-12-31 javascript的some
2024-12-31 javascript的some
javascript的some()
這句話是:
1 | if (name !== '' && !members.value.some(m => m.name === name)) |
我們來一句一句拆解說明 👇:
🔹 name !== ''
👉 這是檢查:輸入的名字 name
不是空的
(也就是確保你有輸入東西,而不是空白)
🔹 members.value.some(m => m.name === name)
這是 檢查成員清單裡,有沒有重複的名字
我們拆開來看:
members.value
:成員陣列(用 Vue 的ref
包起來的).some(...)
:JavaScript 陣列的方法,意思是:❓「這個陣列中是否有至少一個元素符合條件?」
(m => m.name === name)
:- 每一個成員叫
m
- 檢查
m.name
是不是等於目前輸入的name
- 每一個成員叫
👉 所以整句的意思是:
✅ 成員清單中有沒有人名字跟輸入的一樣?
🔹 !members.value.some(...)
前面有一個 !
(驚嘆號),代表 「沒有這個人」
✅ 綜合起來整句話的意思是:
1 | if (name !== '' && !members.value.some(m => m.name === name)) |
就是:
✅ 如果有輸入名字
✅ 而且這個名字還沒在清單裡
👉 就可以加入新的成員
🧠 小補充:some()
是個超好用的方法
舉例:
1 | const numbers = [1, 2, 3, 4] |
如果你對 some()
想更深入學一點,我也可以幫你做簡單練習題 😄
要嗎?