今天完成的事情:了解了有限状态机
明天计划的事情:写JS代码
收获:
对一个数组 filter、some、map、foreach的操作分别有什么作用?
1、filter();
filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
filter() 不会改变原始数组。
var ages = [32, 33, 16, 40];
function checkAdult(age) {
return age >= 18;
}
function myFunction() {
document.getElementById("demo").innerHTML = ages.filter(checkAdult); //[32,33,40]
}
2、some();
some() 方法用于检测数组中的元素是否满足指定条件(函数提供)。
some() 方法会依次执行数组的每个元素:
如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
如果没有满足条件的元素,则返回false。
some() 不会对空数组进行检测。
some() 不会改变原始数组。
var ages = [3, 10, 18, 20];
function checkAdult(age) {
return age >= 18;
}
function myFunction() {
document.getElementById("demo").innerHTML = ages.some(checkAdult);//true
}
3、map();
map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
map() 方法按照原始数组元素顺序依次处理元素。
map() 不会对空数组进行检测。
map() 不会改变原始数组。
var numbers = [4.5, 5.1, 6.7, 7.0];
function myFunction() {
x = document.getElementById("demo")
x.innerHTML = numbers.map(Math.round); //[5,5,7,7]
}
4、foreach();
forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。
var arr = [1,2,3,4,5];
var arr2 = [];
foreachResult = arr.forEach(function(item,index,array) {
arr2[index] = item * 2;
}) //[2,4,6,8,10]
评论