JS中数组的迭代方法Math方法和延时器定时器
数组迭代
every()和some
every()和some()用了查询数组的项是否满足一定的条件,every()是传入的函数每一项都返回true,否则返回fasle
some()方法则是只要传入的函数数组中的莫一项返回true。则返回true
<script>
let arr1=[1,2,3,4,5];
let arr2=["a","e","b","c","d"];
let bool1=arr1.every(function(item,index,array) {
//every()和some()用了查询数组的项是否满足一定的条件,every()是传入的函数每一项都返回true,否则返回fasle
// some()方法则是只要传入的函数数组中的莫一项返回true。则返回true
/* 1 item指的是12345
2 index指的是下标
3 array指的是数组
*/
return item>2//false。
});
</Script>
fiter
相当于过滤筛选的意思
<script>
let arr1=[1,2,3,4,5];
let arr2=["a","e","b","c","d"];
let bool2=arr1.filter(function(item,index,array) {
//fiter是过滤的意思
return item%2===0;//返回数组中的偶数
});
</script>
map
map 返回一个新的数组,这个数组的每一项都是在原始数组中的对应的数据项目传入函数经过一系列处理的结果
<script>
let arr2=["a","e","b","c","d"];
let newArray=arr1.map(function(item,index,array) {
return item*item;//newArray是item*item的结果,原数组的结果不改变
});
</script>
forEach()
forEach(),它只是对数组的每一项运行传入的函数,这个方法内有返回值,本质上与使用for循环迭代数组一样,可修改原数组
<script>
let arr3=[1,2,3,4,5];
let arr4=["a","e","b","c","d"];
arr3.forEach(function(item,index,array) {
array[index]=item*item;
//修改了原数组。
})
</script>
reduce()和reduceRight
reduce()方法从数组的第一项开始,逐个遍历到最后,
reduceRight()则从数组的最后一项开始,向前遍历到第一项
<script>
let arr1=[1,2,3,4,5];
let arr2=["a","e","b","c","d"];
let result=arr1.reduce(function(pre,current,index,array) {
//pre指的是前一个的值,cur指的是当前的值,
return pre+current;//上一次迭代的结果会作为下一次迭代的第一个参数
});
</script>
Math对象
Math对象还包含很多方法,用于辅助完成简单的和复杂的数学计算,其中,min和max方法用于确定一组
数据中的最小值和最大值,这两个方法可以接受任意多个数值参数
<script>
var max=Math.max(2,3,4,5);
var min=Math.min(2,3,4,5);
</script>
取整:Math.ceil()向上舍入,它总是向上舍入为最接近的整数
Math.floor()向下舍入。
Math.round()四舍五入
Math.random()默认返回一个大于等于0小于1的随机数也可以改
另外random也可以更改数值范围:如下
<script>
function random(min,max)
{
return Math.random()*(max-min)+min;//类似函数y=ax+b;
}
</script>
这个类似函数y=ax+b,b就是最小值。
延时器和定时器
<script>
//延时器
setTimeout(function(){
console.log(a);
},4);//在4秒后执行函数
var a=3;
//定时器
setInterval(function() {
console.log(2);
}, 3); //每个3秒运行依次函数
</script>