reduce方法使用箭头函数时多行语句取不到值,单行语句正常。

console.log(Object.keys(params).filter(key => params[key]).reduce((p, key) =>  p.append(key, params[key]),              new HttpParams())); //work
console.log(Object.keys(params).filter(key => params[key]).reduce((p, key) => {p.append(key, params[key]); return p; }, new HttpParams())); //not work

第一行返回值控制台输出正常。
第二行返回值控制台输出时没有写入参数。

HttpParams {updates: Array(2), cloneFrom: HttpParams, encoder: HttpUrlEncodingCodec, map: null}
HttpParams {updates: null, cloneFrom: null, encoder: HttpUrlEncodingCodec, map: null}
阅读 2.2k
1 个回答

p.append(key, params[key]的返回值不是p

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题