【问题标题】:javascript key-value array from 2 sources来自 2 个来源的 javascript 键值数组
【发布时间】:2016-08-15 07:40:13
【问题描述】:

我得到了多个这种格式的字符串

var string1 = "01&foo&bar"
var string2 = "02&food&bark"
var string3 = "03&fool&bars" 

作为最终结果,我想要一个这样的数组:

var module = [
    {"ID":01, "title":"foo", "description":"bar"},
    {"ID":02, "title":"food", "description":"bark"},
    {"ID":03, "title":"fool", "description":"bars"}
];

我的问题的特别之处在于,源字符串中没有给出关键部分。

提前谢谢你

【问题讨论】:

    标签: javascript arrays key


    【解决方案1】:

    使用 Array#mapString#split 方法。

    var string1 = "01&foo&bar";
    var string2 = "02&food&bark";
    var string3 = "03&fool&bars";
    // put strings inside an array and iterate
    var res = [string1, string2, string3].map(function(v) {
      // split string based on `&`
      var arr = v.split('&');
      // generate array element 
      return {
        ID: arr[0],
        title: arr[1],
        description: arr[2]
      };
    });
    
    console.log(res);

    【讨论】:

      【解决方案2】:
      var string1 = "01&foo&bar"
      
      {"ID" : string1.split('&')[0],"title":string1.split('&')[1],"description":string1.split('&')[2]
      

      【讨论】:

        【解决方案3】:

        如果您将字符串放入这样的数组中:

        var strings = ["01&foo&bar", "02&food&bark", "03&fool&bars"];

        然后您可以遍历字符串并将它们拆分为&,如下所示:

        var module = [];
        for (var i in strings) {
          var parts = strings[i].split("&");
          module.push({"ID" : parts[0],
                       "title" : parts[1],
                       "description" : parts[2]});            
        }
        

        如果这不起作用,请告诉我。

        【讨论】:

          猜你喜欢
          • 2018-03-04
          • 2014-07-27
          • 1970-01-01
          • 2014-07-14
          • 1970-01-01
          • 2017-07-26
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多