ES5中的新增方法
3.1 ES5新增方法概述
ES5中给我们新增了一些方法,可以很方便的操作数组或者字符串,这些方法主要包括:
数组方法
字符串方法
对象方法
数组方法:
迭代(遍历)方法:forEach(), map(), filter(), some(), every()
filter()返回的是一个数组,查找的是所有满足条件的元素
some()如果在查找时只要查找到第一个满足要求的元素就不会再循环了,它返回的是bool值,它查找的是元素是否存在
map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
map() 方法按照原始数组元素顺序依次处理元素。
注意: map() 不会对空数组进行检测。
注意: map() 不会改变原始数组。
every() 方法用于检测数组所有元素是否都符合指定条件(通过函数提供)。
every() 方法使用指定函数检测数组中的所有元素:
如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。
如果所有元素都满足条件,则返回 true。
栗子:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// forEach 迭代(遍历)数组
var arr = [1, 2, 3];
sum = 0;
arr.forEach(function(value, index, array) {
console.log('每一个数组元素' + value);
console.log('每一个数组元素的索引号' + index);
console.log('数组本身' + array);
sum += value;
console.log(sum);
})
</script>
</body>
</html>
例子:
<script>
//forEach 迭代(遍历)数组
var arr = [1, 2, 3];
sum = 0;
arr.forEach(function(value, index, array) {
console.log('每一个数组元素' + value);
console.log('每一个数组元素的索引号' + index);
console.log('数组本身' + array);
sum += value;
console.log(sum);
})
//filter 过滤数组
var arr = [12, 22, 4, 66, 3, 1];
var newArr = arr.filter(function(value, index, array) {
// return value >= 20;
return value % 2 === 0;
})
console.log(newArr);
//some() 查找数组中满足条件的元素
var arr = [10, 30, 4];
var flag = arr.some(function(value, index, array) {
return value >= 20;
})
console.log(flag);
//如果在查找时只要查找到第一个满足要求的元素就不会再循环了
var arr1 = ['red', 'pink', 'black'];
var flag1 = arr1.some(function(value, index) {
return value == 'pink';
});
console.log(flag1);
</script>