封装数组的forEach() 实现数组的遍历
//封装数组的forEach() 实现数组的遍历
function forEach(array,fn){
for(let i=0;i<arr.length;i++){
fn(array[i],i,array);
}
}
let arr =[1,3,5,6,7,8];
//调用函数打印出每一个元素
forEach(arr,function(item,index,arr){
document.write(`arr数组的第${index}个元素是${item}<br>`);
})
封装数组的fliter()
//删选出符合条件的元素,返回符合条件元素的新数组
function fliter(array,fn){
let newarr=[];
for(let i=0;i<array.length;i++){
//删选出符合条件的元素,符合条件的传进新数组
if(fn(array[i],i,array)){
newarr[newarr.length]=array[i];
}
}
return newarr;
}
let arr =[1,3,5,6,7,8];
let newarr=fliter(arr,function(item,index,array){
//删选出大于5的元素
if(item>5) return item;
})
document.write(newarr);
封装数组的some()
// 判断数组中元素是否满足某个条件,如果有一个元素满足条件,返回真
function some(array,fn){
//初始化返回值为假
let result=false;
//判断 一个元素满足条件,就把返回值设置成真
for(let i=0;i<array.length;i++){
if(fn(array[i],i,array)){
result=true;
}
}
return result;
}
let arr=[1,3,5,6,7,8,9,10,'a'];
let result=some(arr,function(item,index,arr){
//判断是否有元素等于7
return item===7;
});
document.write(result);
封装数组的every()
// 判断数组中元素是否满足某个条件,如果所有元素都满足条件,返回真
function every(array,fn){
//初始化返回值为真
let result=true;
//判断 一个元素不满足条件,就把返回值设置成假
for(let i=0;i<array.length;i++){
if(!fn(array[i],i,array)){
result=false;
}
}
return result;
}
let arr=[1,3,5,6,7,8,9,10];
let result=every(arr,function(item,index,arr){
//判断所有元素是否是数字类型
return typeof(item)==='number';
});
document.write(result);
封装repeat的方法
//repeat实现的是将一个字符串复制n次 参数输入错误 次数是负数 次数是小数
function repeat(str,count){
if(typeof(count)==='number'&&typeof(str)==='string'){
if(count<0){
return '输入数字不能为负数';
}
else{
let newstr='';
for(var c=0;c<Math.floor(count);c++){
newstr=newstr+str;
}
return newstr;
}
}
else{
return '传入参数不正确';
}
}
//调用repeat函数
document.write(repeat('lalalahhh',3));
来源:CSDN
作者:wangsiyisiyi
链接:https://blog.csdn.net/wangsiyisiyi/article/details/103936957