携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第29天,点击查看活动详情
every()
联想逻辑与运算符,这个方法需要让数组中每一项运行的结果的返回值为true时,这个方法才能够整体返回true,如果有一项返回了false,则整体返回false,全真才为真,一假都为假,如;
var array1 = ['你好', '哈哈', '苹果', '香蕉', '火龙果'];
var result = array1.every(function (content) {
if (content.length > 2) {
return false;
}
return true;
});
console.log(result);//false
解释:通过把数组中的元素传给function函数,再获取该元素的长度,和2进行比较,如果长度大于2,则返回false,这时,一假都为假,整体便返回false。当然,如果将2改为3的话,那么返回值便是true了。
some()
这个方法和every()刚好相反,一真即真,全假才为假,如:
var array1 = ['你好', '哈哈', '苹果', '香蕉', '火龙果'];
var result = array1.some(function (content) {
if (content.length > 2) {
return true;
}
return false;
});
console.log(result);//true
数组的遍历方法
我们之前讲过用for循环和while循环来遍历数组,现在我们可以用这几种方法可以替代一些,而且这几种方法不会改变原数组。
| 方法 | 解释说明 | 备注 |
|---|---|---|
every() | 略 | 略 |
filter() | 对数组中的每个数组元素进行处理,提取返回结果为true的数组元素组成新数组,并将其返回 | 参数是回调函数 |
forEach() | 略 | 只支持 IE8 以上的浏览器,参数是回调函数 |
map() | 对数组中的每个数组元素进行处理,返回运行后的结果,将其组成新数组并返回 | 一般不会改变原数组 |
every()方法我们讲过了,这里不再赘述。
filter()
使用这个方法时,要注意返回的是原数组中某些数组元素组成的新数组,并不是回调函数返回的结果!,如:
var array2 = [1, 5, 2, 8, 4, 6, 3, 7];
var array3 = array2.filter(function (content) {
if (content > 5) {
return content;
}
return false;
});
console.log(JSON.stringify(array3));//[8,6,7]