---
tags: JS - 練習
---
# 【Some】、【Every】 練習
:::warning
### some
> Array.some 是用來檢查陣列裡面是否有一些符合條件。只要有一個以上符合條件就會回傳 true,全部都不是的話會回傳 false。
例如:
```
const result = studentsData.some(item => item.age >= 18);
// 執行結果:result 為 true
const result2 = studentsData.some(item => item.age === '18');
// 執行結果:result 為 false
```
### every
> Array.every 和 some 類似,不過要陣列裡面的所有東西都符合條件才會回傳 true,只要有一個不是就會回傳 false。
例如:
```
const result = studentsData.every(item => item.age >= 18);
// 執行結果:result 為 false
```
:::
> 請用下列資料,data為學校資料:
```
const data = [
{
class: '甲',
studentsNum: '10',
studentsData: [
{ id: 1, name: '王大偉', age: 18, interest: ['聽音樂', '唱歌', '看書'] },
{ id: 2, name: '陳小名', age: 24, interest: ['打球', '聽音樂'] },
{ id: 3, name: '許世斌', age: 23, interest: ['唱歌', '聽音樂'] },
{ id: 4, name: '吳添財', age: 25, interest: ['打球', '聽音樂'] },
{ id: 5, name: '陳漢霖', age: 66, interest: ['喝酒', '唱歌', '看書'] },
{ id: 6, name: '楊采媗', age: 17, interest: ['打球', '唱歌'] },
{ id: 7, name: '曾無傭', age: 34, interest: ['打球'] },
{ id: 8, name: '楊漢鎮', age: 38, interest: ['看書', '唱歌'] },
{ id: 9, name: '楊是崁', age: 35, interest: ['看書'] },
{ id: 10, name: '楊安浪', age: 50, interest: ['聽音樂', '唱歌', '看書'] }
]
},
{
class: '乙',
studentsNum: '5',
studentsData: [
{ id: 1, name: '蔡申明', age: 50, interest: ['打球'] },
{ id: 2, name: '蔡文旯', age: 51, interest: ['打球'] },
{ id: 3, name: '陳炘採', age: 58, interest: ['打球'] },
{ id: 4, name: '昂天次', age: 56, interest: ['打球'] },
{ id: 5, name: '王銘感', age: 58, interest: ['打球'] }
]
}
]
```
### Some、Every 題目:
:::info
判斷甲班是否有一個學生為50歲以上
:::
:::info
判斷乙班是否全部學生都為50歲以上
:::
:::info
判斷乙班每個學生興趣是否只有一項
:::
:::info
判斷學校目前是否有丙班
:::
### 補充練習 題目:
:::info
請透過Some、Every,整理出甲班興趣是"打球"的同學,並按照年齡排序(大>小)
:::
:::info
請整理出學校學生姓氏為"陳",且興趣有"打球"的同學,並按照年齡排序(小>大),並排除年齡為"30歲以下"的學生
:::