js 数组every
时间: 2023-11-21 11:06:47 浏览: 103
在JavaScript中,数组的`every`方法用于判断数组中的所有元素是否都满足指定的条件。语法是`array.every(function(item, index, arr) {})`。其中,`item`表示数组中的每个元素,`index`表示当前元素的索引,`arr`表示原始数组。
举个例子,假设我们有一个全选框`checkAll`和一组选择框`checkList`,我们希望当每个选择框的`checked`属性都为`true`时,全选框也被选中。我们可以使用`every`方法来实现这个功能。首先,我们需要获取全选框和选择框的引用:
```javascript
const checkAll = document.querySelector('#checkAll'); // 获取全选框
const checkList = document.querySelectorAll('.check'); // 获取所有选择框
```
然后,我们给全选框添加点击事件处理程序,当点击全选框时,将每个选择框的`checked`属性设置为与全选框一致:
```javascript
checkAll.onclick = function() {
checkList.forEach(item => item.checked = this.checked);};
```
接下来,我们需要为每个选择框添加点击事件处理程序,用于判断数组中的每个选择框的`checked`属性是否都为`true`:
```javascript
for(let i = 0; i < checkList.length; i++) {
checkList[i].onclick = function() {
checkAll.checked = Array.from(checkList).every(item => item.checked); };
}
```
在这个例子中,`Array.from(checkList)`将选择框集合转换为数组,并使用`every`方法判断数组中的每个元素是否都满足`item.checked`为`true`的条件。如果所有元素都满足条件,则返回`true`,否则返回`false`。
总结一下,JavaScript中的数组`every`方法可以用于判断数组中的所有元素是否都满足指定的条件。在给定的例子中,我们使用`every`方法来判断选择框数组中的每个选择框的`checked`属性是否都为`true`,以实现全选功能。
阅读全文