iT邦幫忙

2021 iThome 鐵人賽

DAY 29
0
Modern Web

想試試寫程式的感覺,就用 JavaScript 來寫寫看網頁吧系列 第 29

[想試試看JavaScript ] 陣列一些操作陣列好用的方法 some() every()

判斷或回傳布林值

今天介紹的陣列方法,不會回傳新陣列
而是會判斷或回傳布林值得方法

some()

some 會將陣列中的每一個元素傳進 callback 函式中做判斷,只要有任一個元素符合判斷條件就會回傳 true,全部都不符合才會回傳 false

語法:

some 會將陣列中的元素一個一個傳進 callback 函式做判斷。

callback 函式有三個參數

  1. currentValue,目前正要被處理的元素,這個元素正被傳進 callback 函式
  2. index (選填),目前正被處理的元素的索引值
  3. array (選填),呼叫 some() 的原陣列
Array.some(function callback(){
	// return 判斷
})

範例:

var a=[1,2,3,4,5,6,7,8];
console.log(a.some(function(currentValue){
    return currentValue>9
}))

every()

every()some() 很像。

every() 會將陣列中的元素一個一個帶進 callback 函式做判斷,並回傳判斷的結果

some() 不同的是,some() 只要任一元素符合結果就會回傳 true

every() 需要所有的元素都符合判斷的結果,才會回傳 true,只要有一個元素不符合就會回傳 false

語法:

every() 會將陣列中的元素一個一個傳進 callback 函式做判斷

callback 函式裡面有三個元素

  1. currentValue,正被傳進函式處理的元素
  2. index(選填),正被處理的元素的索引值
  3. array(選填),呼叫 every() 的陣列
Array.every(function callback(currentValue,index,array){
	// return 判斷
})

範例:

function isBigEnough(currentValue){
	return currentValue >=10
}
var a=[1,2,3,4,5,6,7,8].every(isBigEnough);
var b=[9,10,11,12].every(isBigEnough);
var c=[11,12,13,14,15].every(isBigEnough);
console.log(a); // false,不符合
console.log(b); // false,沒有全部符合
console.log(c); // true,全部符合

上一篇
[想試試看JavaScript ] 陣列一些操作陣列好用的方法 reduce
下一篇
[想試試看JavaScript ] 講了好幾天的 callback,callback function 是什麼呢?
系列文
想試試寫程式的感覺,就用 JavaScript 來寫寫看網頁吧30

尚未有邦友留言

立即登入留言