小编Dan*_*nny的帖子

为什么不能通过在 javascript 中使用 .push() 直接返回值?

以下面的 flatten 函数为例,为什么我不能return直接在累加器上使用。推()

 function flatten(array){
      return reduce(array,function(accumulator, value){
          if(Array.isArray(value)){
              each(value,function(value1){    
                  return accumulator.push(value1);     //as shown 
                  })
              }else{
                  return accumulator.push(value);      //as shown
                  }  

          },[]); 
      };
Run Code Online (Sandbox Code Playgroud)

相反,我需要在单独的行上返回累加器?

 function flatten(array){
      return reduce(array,function(accumulator, value){
          if(Array.isArray(value)){
              each(value,function(value1){
                  accumulator.push(value1);
                  })
              }else{
                  accumulator.push(value);   
                  }  
            return accumulator             //as shown 
          },[]);  
      };
Run Code Online (Sandbox Code Playgroud)

但是如果使用诸如 .concat() 之类的方法,我将能够使用return它......

javascript callback

0
推荐指数
1
解决办法
738
查看次数

标签 统计

callback ×1

javascript ×1