- 迭代函数: 通过对数组中的元素逐个应用, 来操作返回相应的值.
- 不返回新数组
- arr.forEach(callback): 按升序, 为数组中每一项执行一次函数
callback
. - arr.every(callback): 测试一个数组内的所有元素是否都能通过某个指定函数的测试. 它返回一个布尔值.
true
. 每一项执行结果均为true
或arr
为空.false
. 存在元素, 执行结果为false
.
- arr.some(callback): 测试数组中是不是至少有 1 个元素通过了被提供的函数测试. 它返回一个布尔值.
true
. 存在一项执行为true
, 返回true
.false
. 每一项执行均为false
或arr
为空.
- arr.reduce(callback): 对数组中的每个元素执行函数
callback
( 升序执行 ) 将其结果汇总为单个返回值.
- arr.forEach(callback): 按升序, 为数组中每一项执行一次函数
/**
* arr.forEach(callback): 按升序, 为数组中每一项执行一次函数 callback
*/
var array = [ 'a', 'b', 'c' ];
array.forEach(element => console.log(element));
/**
* std
a
b
c
*/
function square(num) {
console.log(num, num * num);
}
var num = [ 1, 2, 3 ];
num.forEach(square);
console.log(num);
/**
* std
1 1
2 4
3 9
*/
/**
* arr.every(callback): 测试一个数组内的所有元素是否都能通过某个指定函数的测试. 它返回一个布尔值.
* 注: 若收到空数组, 此方法在任何情况下都会返回 true .
*/
function isEven(num){
return num % 2 === 0;
}
var num = [ 2, 4, 6, 8, 10 ];
var even = num.every(isEven);
if(even){
console.log("所有的数字都是偶数");
}else{
console.log("不是所有的数字都是偶数");
}
/**
* std
所有的数字都是偶数
*/
/**
* arr.some(callback): 测试数组中是不是至少有 1 个元素通过了被提供的函数测试. 它返回一个布尔值.
* 注: 若收到空数组, 此方法在任何情况下都会返回 false .
*/
function isEven(num){
return num % 2 === 0;
}
var num = [ 1, 2, 3, 4, 5, 6, 7, 8 ];
var someEven = num.some(isEven);
if(someEven){
console.log("有些数字是偶数");
}else{
console.log("没有数字是偶数");
}
/**
* std
有些数字是偶数
*/
/**
* reduce(): 对数组中的每个元素执行函数 callback ( 升序执行 ) 将其结果汇总为单个返回值.
*/
function add(num1, num2){
return num1 + num2;
}
var num = [ 1, 2, 3, 4 ];
var sum = num.reduce(add);
console.log(sum);
function concat(str, i) {
return str + i;
}
var words = [ "I am ", "a ", "coder " ];
var re = words.reduce(concat);
console.log(re);
/**
* std
10
I am a coder
*/
- 返回新数组的
- arr.map(callback): 创建一个新数组, 其结果是该数组中的每个元素调用一次提供的函数 后的返回值.
- arr.filter(calllback): 创建一个新数组, 其包含通过函数测试的所有元素.
/**
* arr.map(callback): 创建一个新数组, 其结果是该数组中的每个元素调用一次提供的函数后的返回值.
*/
function addFive(grade){
return grade += 5;
}
var grade = [ 77, 82, 88, 95, 90 ];
var result = grade.map(addFive);
console.log(result);
/**
* std
[ 82, 87, 93, 100, 95 ]
*/
var array = [1, 4, 9];
var map = array.map(x => x * 2);
console.log(map);
/**
* std
[ 2, 8, 18 ]
*/
/**
* arr.filter(callback): 创建一个新数组, 其包含通过函数测试的所有元素.
*/
var words = [ "spray", "limit", "elite", "exuberant", "destruction", "present" ];
var result = words.filter(word => word.length > 6);
console.log(result);
/**
* std
[ 'exuberant', 'destruction', 'present' ]
*/
function passing(num){
return num >= 60;
}
var grades = [];
for(var i = 0;i <= 10;i ++){
grades[i] = Math.floor(Math.random() * 101);
}
var pass = grades.filter(passing);
console.log('随机产生的 10 个同学的分数为: ' + grades);
console.log('及格的分数有: ' + pass);
/**
* std
随机产生的 10 个同学的分数为: 30, 25, 77, 12, 74, 34, 41, 61, 57, 49, 92
及格的分数有: 77, 74, 61, 92
*/
思路, 程序参考
-
wangzheng0822: Array
-
MDN
-
注: 程序输出由 WebStorm 编译
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!