--- 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歲以下"的學生 :::