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
2
const numbers = [1, 2, 3, 4]
numbers.some(n => n > 3) // 會回傳 true,因為有 4 > 3

如果你對 some() 想更深入學一點,我也可以幫你做簡單練習題 😄

要嗎?