首先是 数组扁平化--将多维数组变为一维数组
var arr = [1, 2, 3, [4, 3, [2, 7], 2], 5, [5, 9, 10], 7];
function func(user){
let arr1 = [];
for(var i=0;i<user.length;i++){
if(Array.isArray(user[i])==false){
arr1.push(user[i]);
}else{
arr1 = arr1.concat(func(user[i]))
}
}
arr = arr1;
return arr;
}
function func(user){
let arr1 = [];
user.forEach((item)=>{
Array.isArray(item)==false?arr1.push(item):arr1 = arr1.concat(func(item))
})
arr = arr1;
return arr;
}
func(arr);
console.log(arr);
然后是函数柯里化
function curryingAdd(x) {
return function (y) {
return x + y
}
}
function binds() {
return function (x,y) {
return x + y
}
}
console.log(add(1,3));
console.log(curryingAdd(1)(5));
console.log(binds()(2,4));
这就是我对数组扁平化和柯里化的理解!