最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

day07: Array Cardio Day 2

XAMPP下载 admin 672浏览 0评论
 練習重點
some()
every()
find()
findIndex()
slice()
陣列資料
提供了兩筆陣列資料

// 第一筆資料 people: [{name:’str’, year:num}]
const people = [
{ name: ‘Wes’, year: 1988 },
{ name: ‘Kait’, year: 1986 },
{ name: ‘Irv’, year: 1970 },
{ name: ‘Lux’, year: 2015 }
];

// 第二筆資料 comments: [{comments:’str’, id:num}]
const comments = [
{ text: ‘Love this!’, id: 523423 },
{ text: ‘Super good’, id: 823423 },
{ text: ‘You are the best’, id: 2039842 },
{ text: ‘Ramen is my fav food ever’, id: 123523 },
{ text: ‘Nice Nice Nice!’, id: 542328 }
];
範例語法備註
[ Array.prototype.some() ]
只有其中有一筆符合判斷就會回傳true並結束
some(item, index, array) (item:物件/ index:索引/ array:全部陣列)

[ 題目 ] 有沒有至少一個人是19歲或大於的
使用some()逐筆進行判斷,只要有一筆通過判斷則回傳true並結束

const isAdult = people.some(person => ((new Date()).getFullYear()) – person.year >= 19 );
console.log(isAdult); //回傳true
[ Array.prototype.every() ]
必須完全符合,才會回傳true,只要有一筆不符合就會回傳false
every(item, index, array)

[ 題目 ] 全部的人都有大於或等於19歲嗎
使用every()檢查所有的物件是否全部符合條件,

const allAdult = people.every(person => ((new Date()).getFullYear()) – person.year >= 19 );
console.log(allAdult); //回傳false,不是每筆都大於或等於19
[ Array.prototype.find() ]
find()與filter()想像,但find()只會回傳一次,且回傳第一筆為true的值
find(item, index, array)

[ 題目 ] 找到ID=823423的
這邊可以在陣列comments裡多加一筆id一樣為823423,並且要加在原來的那行後面
會發現它只會回傳前面那筆

const commentID = comments.find(comment => comment.id

=== 823423);
console.log(commentID); //回傳 {text: “Super good”, id: 823423}
[ Array.prototype.findIndex() ]
尋找陣列中符合的元素並返回該筆的index索引,如果沒有符合的將返回-1
findIndex(item, index, array)

[ 題目 ] 找出id=823423 並且刪除該筆
使用findIndex()找到該筆索引後,使用splice()刪除該筆

const index = comments.findIndex(com => com.id

=== 823423 );
console.log(index); // 回傳1
console.table(comments);

comments.splice(index,1); // 刪掉該索引數的一筆資料
console.table(comments);
也可以刪掉後組成新的陣列,使用slice()寫法如下:

// 先找出要刪除的筆數index
const index = comments.findIndex(com => com.id

=== 823423 );
console.log(index); // 回傳1

// 在使用 slice()
const newComments = [
// 取出索引0~index 的筆數,並逐筆塞入newComments
…comments.slice(0, index),
// 取出索引index+1 的筆數,並逐筆塞入newComments
…comments.slice(index + 1)
];
console.table(newComments);
上述slice(start,end) 可提取陣列的某個部份,並返回新的陣列

// * 提出索引位置6~11的字符 *
const str=”Hello happy world!”
document.write(str.slice(6,11));
// 輸出happy

// * 提出索引位置6開始的所有字符
var str=”Hello happy world!”
document.write(str.slice(6));
// 輸出 happy world!

转载请注明:XAMPP中文组官网 » day07: Array Cardio Day 2

您必须 登录 才能发表评论!