# [JS30] Day.7 Array Cardio Day 2 ###### tags: `JS30` ## 任務 Task 今天是 Easy Day~~ 一樣是 `array` 的 `method` 介紹。 ==完成時間:0.5hr== ## 筆記 Note ### some()、every() * 回傳的皆為布林值。 * `some()` 只要其中一項值為 `truthy`,則回傳 `true`。 * `every()` 只要其中一項值為 `falsy` 則回傳 `false` 。 ### find()、findIndex() * `find()` 回傳第一個符合條件的 `element`,若沒有則回傳 `undefined`。 * `findIndex()` 回傳第一個符合條件的 `element` 的位置,如果沒有則回傳 `-1`。 ### slice() * 淺拷貝部分的 `array` 可指定從哪裡開始拷貝。 ```javascript= const people = ['John', 'Jim', 'Annie', 'Tony']; console.log(people.slice()); //沒變 output: ['John', 'Jim', 'Annie', 'Tony'] console.log(people.slice(2)); //從第二個開始到最後 output: ['Annie', 'Tony']; console.log(people.slice(1, 3)); //從第一個到第三個,但最後的不算 output: ['Jim', 'Annie'] ``` ### splice() * 刪除部分 `element` 並取代。 * 回傳刪除的 `element`。 ```javascript=+ //people.splice(start, deleteCount, item, item2); people.splice(1, 0, 'Tom'); console.log(people); //插入'Tom'在 index1之前 output: ['John', 'Tom','Jim','Annie','Tony'] let slice = people.splice(2, 1); console.log(people); //刪除第二項的一個element output: ['John', 'Tom', 'Annie', 'Tony'] console.log(slice); //回傳刪除的 element output: ['Jim'] ```