【问题标题】:Reformatting an array for jquery autocomplete为 jquery 自动完成重新格式化数组
【发布时间】:2015-08-26 05:30:15
【问题描述】:

我有一个如下所示的数组:

thing1,thing2,thing3

我需要将其重新格式化为如下所示:

[ 
{ value: 'thing1', data: 'thing1' }, 
{ value: 'thing2', data: 'thing2' }, 
{ value: 'thing3', data: 'thing3' }, 
]

我当前的功能看起来像这样,但显然不起作用:

function combine_ids(ids) {
   return (ids.length ? " [ { value: '" + ids.join("'," + " data: '" + ids + " ' } ] ")  : "");
}

【问题讨论】:

标签: javascript arrays


【解决方案1】:

假设你的数组看起来像这样

var arr = ["thing1","thing2","thing3"]

你可以像这样使用.map()

var result = arr.map(function(item){ 
  return {"value": item, "data": item}; 
});

这将返回这个

[
 {"value":"thing1","data":"thing1"},
 {"value":"thing2","data":"thing2"},
 {"value":"thing3","data":"thing3"}
]

你可以像这样改变你的方法

function combine_ids(arr){
  return arr.map(function(item){ 
     return {"value": item, "data": item}; 
  });
}

var result = combine_ids(arr);

var arr = ["thing1","thing2","thing3"]
function combine_ids(arr){
  return arr.map(function(item){ 
     return {"value": item, "data": item}; 
  });
}

var result = combine_ids(arr);
alert(JSON.stringify(result));

【讨论】:

    【解决方案2】:

    试试这个

    function combine_ids(ids) {
        var Aobj=[];
        for (var x in ids){
           Aobj.push({'value':ids[x],'data' : ids[x]})
        }
        return Aobj;
    }
    
    combine_ids(['thing1','thing2','thing3'])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-04
      • 1970-01-01
      • 2017-08-27
      • 2013-07-24
      相关资源
      最近更新 更多