// var arr = [1,3,5,7,9];
// var arr2 = arr.concat(11,13,15);
// console.log(arr2);
// filter:筛选符合条件的数组并返回,不改变原数组
// var arr3 = arr.filter(function(ege){
// return ege > 3;
// })
// console.log(arr3);
// every:判断数组是否符合条件,返回true或者false,不改变原数组 some:只需满足一个条件即可返回true;
// var arr4 = arr.every(function(ege){
// return ege > 0;
// })
// console.log(arr4);
// indexOf:查找规定数值所在数组的索引
// var arr5 = arr.indexOf(5);
// console.log(arr5);
// console.log(arr.reverse())
// 将数组改变为字符串,不改变原数组
// var a = arr.join("-");
// 从数组索引第一位截取到第三位
// var arr2 = arr.slice(1,3);
// 计算数组的和
// var arr2 = arr.reduce(function(total,value){
// return total + value;
// })
// var arr2 = arr.reduceRight(function(prviousValue,currentValue){
// return prviousValue * currentValue;
// })
//改变原数组
// arr.push(1)
// arr.pop()
// var b = arr.shift();
// arr.unshift(0);
// arr.splice(0,3,9,8,7);
// Array.prototype.myMap = function(fn){
// var newArr = [];
// var len = this.length;
// for(var i = 0 ; i < len ; i++){
// newArr.push(fn(this[i],i));
// }
// return newArr;
// }
// var arr2 = arr.myMap(function(ele,index){
// return ele * index;
// })
// var arr = [1,2,3,4,5,6,7];
// Array.prototype.myEvery = function(fn){
// var len = this.length;
// var newArr = [];
// for(var i = 0 ; i < len ; i++){
// newArr.push(fn(this[i]));
// if(newArr[i] == false){
// return false;
// }else {
// return true;
// }
// }
// }
// var arr2 = arr.myEvery(function(ege){
// return ege < 8;
// })
// var arr = [1,2,3,4,5,6,7];
// Array.prototype.mySome = function(fn){
// var len = this.length;
// var newArr = [];
// var count = 0;
// for(var i = 0 ; i < len ; i++){
// newArr.push(fn(this[i]));
// // console.log(newArr[i]);
// if(newArr[i] == false){
// count++;
// if(count == len){
// return false;
// }
// }else if(newArr[i] == true){
// return true;
// }
// }
// }
// var arr2 = arr.mySome(function(ege){
// return ege < 10;
// })
// var arr = [1,2,3,4,5,6];
// Array.prototype.myMap = function(fn){
// var len = this.length;
// var newArr = [];
// for(var i = 0 ; i < len ; i++){
// newArr.push(fn(this[i],i))
// }
// return newArr;
// }m
// var arr2 = arr.myMap(function(item, index){
// return item + index;
// })
// var arr2 = [1,2,3,4,5,6,7,8,9];
// Array.prototype.myReduce = function(fn){
// var len = this.length;
// var num = 0;
// for(var i = 0 ; i < len ; i+=2){
// if(i+1){
// num += fn(this[i],this[i+1]);
// console.log(fn(this[i],this[i+1]));
// }else {
// num += fn(this[i]);
// }
// }
// return num;
// }
// var arr3 = arr2.myReduce(function(previous, current){
// var current = current || 0;
// return previous + current;
// })
var arr = [1,2,3,4,5,6,7];
Array.prototype.myReduce = function(fn){
var len = this.length;
var result = 0;
for(var i = 0 ; i < len ; i+=2){
if(i + 1 == len && i % 2 == 0){
result += fn(this[i],0);
}else {
result += fn(this[i],this[i+1]);
}
}
return result;
}
var arr2 = arr.myReduce(function(previous,current){
return previous + current;
});
javascript 数组方法使用即实现
最新推荐文章于 2024-01-16 13:27:15 发布
这篇博客介绍了JavaScript中常见的数组操作,包括concat、filter、every、some、indexOf、join、slice、reduce和reduceRight等方法,并展示了如何使用这些方法实现自定义功能,如myMap、myEvery和mySome。此外,还探讨了如何通过自定义函数改变原数组和进行数组求和的技巧。
摘要由CSDN通过智能技术生成