JavaScript 陣列 every()
示例 1
// 建立一個數組
const ages = [32, 33, 16, 40];
// 建立一個測試函式
function checkAge(age) {
return age > 18;
}
// 所有年齡都超過18歲嗎?
ages.every(checkAge);
自己動手試一試 »
更多示例見下文。
描述
every()
方法對陣列中的每個元素執行一次函式。
如果函式對所有元素都返回 true
,則 every()
方法返回 true
。
如果函式對其中一個元素返回 false
,則 every()
方法返回 false
。
every()
方法不會對空元素執行函式。
every()
方法不會改變原始陣列。
陣列迭代方法
語法
array.every(function(currentValue, index, arr), thisValue)
引數
引數 | 描述 |
function() | 必需。 一個為陣列中每個元素執行的函式。 |
currentValue | 必需。 當前元素的值。 |
index | 可選。 當前元素的索引。 |
arr | 可選。 當前元素所屬的陣列。 |
thisValue | 可選。預設 undefined 。作為其 this 值傳遞給函式的值。 |
返回值
型別 | 描述 |
布林值 |
如果所有元素都透過測試,則為 true ,否則為 false 。 |
更多示例
檢查所有答案是否相同
const survey = [
{ name: "Steve", answer: "Yes"},
{ name: "Jessica", answer: "Yes"},
{ name: "Peter", answer: "Yes"},
{ name: "Elaine", answer: "No"}
];
let result = survey.every(isSameAnswer);
function isSameAnswer(el, index, arr) {
if (index === 0) {
return true;
} else {
return (el.answer === arr[index - 1].answer);
}
}
自己動手試一試 »
檢查所有值是否超過特定數字
<p><input type="number" id="ageToCheck" value="18"></p>
<button onclick="myFunction()">試一試</button>
<p id="demo"></p>
<script>
const ages = [32, 33, 12, 40];
function checkAge(age) {
return age > document.getElementById("ageToCheck").value;
}
function myFunction() {
document.getElementById("demo").innerHTML = ages.every(checkAge);
}
</script>
自己動手試一試 »
瀏覽器支援
every()
是 ECMAScript5 (ES5) 的特性。
自 2013 年 7 月以來,所有現代瀏覽器都完全支援 ES5 (JavaScript 2009)
Chrome 23 |
IE/Edge 11 |
Firefox 21 |
Safari 6 |
Opera 15 |
2012 年 9 月 | 2012 年 9 月 | 2013 年 4 月 | 2012 年 7 月 | 2013 年 7 月 |