1.高阶函数
1)filter
filter 中的回调函数有一个要求,必须返回一个布尔值;
true:返回true时,函数内部会自动将这次回调的n值加入到新的数组中
false:返回false时,函数内部会过滤掉这次的n
//案例要求:返回数组中100以下的值
const nums = [10,50,150,200,20,30,80,300];
let newNum = nums.filter(function(n){
return n < 100
})
2)map
可以对数组里的数据进行相同的操作(例如所有数都乘2)
//案例要求:数组所有值乘2
const newNum = [10,50,20,30,80];
let newNum2 = nums.map(function(n){
return n * 2
})
console.log(newNum2) //[20,100,40,60,160]
3)reduce
reduce的作用是对数组中的所有内容进行汇总
reduce里也是一个回调函数,回调函数的参数至少有两个(preValue,n),第一个参数是上一次返回的值,第二个参数是当前返回的值;但参数1比较特殊,本身就是一个函数
//案例要求:数组所有值相加,返回总和
const newNum2 = [20,100,40,60,160];
let newNum3 = nums.reduce(function(preValue,n){
return preValue + n
},0)
//第一次:preValue 0 n 20
//第二次:preValue 20 n 100
....
console.log(newNum3) //380
综合以上3种
高阶函数求数组和:
var total = nums.filter(function(n){
return n < 100
}).map(function(n){
return n*2
}).reduce(function(preValue, n){
return preValue + n
},0)
2.window location href跳页传参与接收
//一个页面传参
window.location.href = baseUrl + 'Jxyj_xmsb/query/' + self.pylx +'/'+ self.lx+'/'+ self.xmlb;
//一个页面接收
var url = document.location.href;
var urlList = url.split('/');//“=”代表你拿哪个标点符号后的值例如:“/”“?”
var a = urlList[urlList.length-1].split('.')[0];
alert(a);
参考原文:https://blog.youkuaiyun.com/weixin_43496408/article/details/103479735