[Day7] Array Cardio Day 2

[Day7] Array Cardio Day 2

Javascript 的技巧

需要用到的技巧与练习目标

  1. some and every
  2. find and findIndex
  3. splice and slice

Array.prototype.some()

some()方法是会透过给定的函式中来测试,阵列中是否有一个元素符合条件,如果符合则会回传布林值 true

const people = [
{name:'Wes',year:1988},
{name:'Kait',year:1986},
{name:'Irv',year:1970}
];

// 判断有没有年纪大於19的人
const isAdult = people.some(function(person){
const currentYear = (new.Date()).getFullYear();
 if(currentYear - person.year >= 19){
 return true;
 }
})
// console.log(isAdult)为 true

或是改成箭头函式,更简短

const isAdult = people.some(person=((new.Date()).
getFullYear()) - person.year >= 19);

Array.prototype.every()

every()方法是会透过给定的函式中来测试,阵列中是否全部的元素皆符合条件,如果符合则会回传布林值 true


// 判断是否全部的人年纪都大於19的人
const allAdult = people.every(function(person){
const currentYear = (new.Date()).getFullYear();
 if(currentYear - person.year >= 19){
 return true;
 }
})
// console.log(allAdult)为 false

箭头函式的写法

const allAdult = people.every(person=((new.Date()).
getFullYear()) - person.year >= 19);

Array.prototype.find()

find()方法是会透过给定的函式中来测试,阵列中是否有元素符合条件,如果符合则会回传第一个找到的元素。
不同於filter的全部元素皆会汇出。

const comments=[
{text:'Love this!',id:523423},
{text:'Super good!',id:823423},
{text:'You are the best!',id:2039842},
{text:'Ramen on my fav food ever!',id:123523},
{text:'Nice Nice Nice!',id:542328},
];

//找出id = 823423的第一个元素
const comment = comments.find(function(comment){
if(comment.id === 823423){
return true;
}
});
//console.log(comment)

改写成箭头函式

const comment = comments.find(comment => comment.id === 823423);

参考资料来源:
https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Reference/Global_Objects/Array/some

https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Reference/Global_Objects/Array/every

https://developer.mozilla.org/zh-TW/docs/Web/JavaScript/Reference/Global_Objects/Array/find


<<:  自订 Vaadin 组件 / Grid 扩充功能 -- day07

>>:  【Day 07】Sorting:Insertion Sort 插入排序法 ( 用 JavaScript 学演算法 )

Progressive Web App Checklist: 优化检核清单项目说明 (7)

Starts fast, stays fast Web App 的效能会直接影响使用者体验,也会影响...

铁人赛 Day8 -- PHP SQL基本语法(三) -- $_POST & $_GET

前言 我觉得要讲理论还是解释$_POST & $_GET是什麽的,我可能也讲不出个所以然,也...

【Day17】期间限定:函式的参数

函式会将参数传入函式里面,让它们成为函式里的变数,让程序码去做运算。参数只能在函式里刷存在感(期间...

25.MYSQL 运算子优先顺序

上面介绍了这麽多运算子,除了用括号强制先运算以外,他们也有自己的顺序高低,如果没有括号的,就会按照他...

防毒软件侦测篇

今天算是以病毒与防毒软件为主的方向。 这篇不在原本的安排之内, 不过昨天恶意程序分析之後, 发现有些...