代码之家  ›  专栏  ›  技术社区  ›  Ωmega

将所有Twilio消息媒体链接存储到一个数组中

  •  0
  • Ωmega  · 技术社区  · 7 年前

    如何将所有Twilio消息媒体链接存储到一个数组中?

    我目前的实现是

    exports.handler = function(context, event, callback)  {
    
    //...
    
    var mediaUrls = [];
    
    for (var i = 0; i < event.NumMedia; i++) { 
      var m = eval("(typeof event.MediaUrl"+i+" !== 'undefined')? event.MediaUrl"+i+" : ''");
      if (m !== '') mediaUrls.push(m);
    }
    
    //...
    
    }
    

    但是使用 eval 不是一个好的做法,因为

    评估可能是有害的。

    有没有其他解决方案可以做到这一点 评估 ?

    1 回复  |  直到 7 年前
        1
  •  0
  •   philnash    7 年前

    Twilio开发者布道者。

    eval 和点表示法调用每个媒体的URL可以使用方括号表示法。因此,你可以做以下事情,而不是你所拥有的:

    var mediaUrls = [];
    
    for (var i = 0; i < event.NumMedia; i++) { 
      if (typeof event["MediaUrl"+i] !== 'undefined') {
         mediaUrls.push(event["MediaUrl"+i]);
      }
    }
    

    如果有什么帮助,请告诉我。

    推荐文章