【问题标题】:String operation with array of strings字符串数组的字符串操作
【发布时间】:2015-01-19 05:33:11
【问题描述】:

我有一个字符串数组,如下例所示

["i.was.wen.the.coding", "i.am.wen.to", "i.am.new", "i.am", "i"]

你可以看到数组中的所有句子都可以被.分割,我需要通过反转数组来创建一个有意义的句子并在最后缝合单词。如果您从最后开始阅读,因为i.am.new.to.coding 从每个句子中获取最后一个吐出值最终会产生一个有意义的句子。我试图在 javascript 或 jquery 中创建这样的代码,并且坚持了一天多。因为它太棘手了。

请任何脚本专家帮忙。我感谢您的帮助。 TIA

【问题讨论】:

    标签: javascript jquery arrays regex string


    【解决方案1】:

    看起来很简单,反转数组,映射它返回句点后的最后一部分,然后用空格连接

    var arr = ["i.was.wen.the.coding", "i.am.wen.to", "i.am.new", "i.am", "i"];
    
    var s = arr.reverse().map(function(x) {
        return x.split('.').pop();
    }).join(' ');
    
    document.body.innerHTML = s;

    【讨论】:

    • 对于我实际需要的任何输入和任何分隔符,它都像魅力一样。为您的宝贵帮助脱帽致敬。而且我从没想过它会用如此简单易懂的代码完成。 :) 非常感谢 adeneo
    【解决方案2】:

    var a = ["i.was.wen.the.coding", "i.am.wen.to", "i.am.new", "i.am", "i"];
    
    var s = a.reduceRight(function(x,y){
        return x + '.' + y.split('.').pop();
    });
    
    document.body.textContent = s;

    【讨论】:

    • @Khaleel:没问题!
    【解决方案3】:

    这对我有用:

    var array = ["i.was.wen.the.coding", "i.am.wen.to", "i.am.new", "i.am", "i"]
    var b = [];
    for(i=array.length-1;i>=0;i--) {
        var a = array[i].split('.').pop()
        b += " "+a
        alert(a)
    }
    alert(b)
    

    【讨论】:

      【解决方案4】:

      另一种方式:

      arr = ["i.was.wen.the.coding", "i.am.wen.to", "i.am.new", "i.am", "i"];
      arr = arr.reverse();
      str = '';
      for(i=0;i<arr.length;i++)
      {
          data = arr[i].split('.');
          len = data.length;
          str = str + data[len-1] + " ";
      }
      console.log(str);
      

      【讨论】:

        猜你喜欢
        • 2018-04-02
        • 2012-03-25
        • 2011-03-22
        • 2017-12-05
        • 2013-05-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-14
        相关资源
        最近更新 更多