繁体   English   中英

如何替换javascript中的嵌套箭头功能以实现Safari兼容性?

[英]How to replace nested arrow functions in javascript for Safari compatibility?

我正在自定义JavaScript可视化库,并编写了一小段代码来填充悬停信息数组:

var text = zValues.map((zValues, i) => zValues.map((value, j) => {
  return ` ID: ${yValues[i]}<br> Tissue: ${xValues[j]}<br> Expression: ${value.toFixed(2)} ` 
 }))

它适用于除Safari之外的所有浏览器。 我读到Safari不支持箭头功能,因此我尝试如下替换此功能:

var text = zValues.map (function(zValues, i) { zValues.map (function (value, j) {
  return ` ID: ${yValues[i]}<br> Tissue: ${xValues[j]}<br> Expression: ${value.toFixed(2)} ` 
 });});

这不会产生任何错误,但是会导致一个空的“文本”数组。 我该如何解决该问题?

主体中只有一个表达式语句的Arrow函数具有隐式返回。 用函数创建的function 永远不会有隐式的返回(除非我猜除非是undefined ),所以您需要显式返回箭头函数表达式:

var text = zValues.map (function(zValues, i) { return zValues.map (function (value, j) {
  return ` ID: ${yValues[i]}<br> Tissue: ${xValues[j]}<br> Expression: ${value.toFixed(2)} ` 
 });});

(您已经在最里面的结果表达式上得到了return 。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM