更有效的编写此功能的方法

时间:2015-02-24 14:27:05

标签: jquery

有没有更有效的方式来写这个?

我尝试存档terser代码。类似的东西:

价值:{Angebotsmappen,Angebotsordner,Abheftmappen,Außendienstmappen...},

$(function(){
  var tags = [
    { value: 'Angebotsmappen' },
    { value: 'Angebotsordner' },
    { value: 'Abheftmappen' },
    { value: 'Außendienstmappen' },
    { value: 'Firmenmappen' },
    { value: 'Flipcharts' },
    { value: 'Grafikmappen' },
    { value: 'Geschenkschachteln' },
    { value: 'Hotelmappen' },
    { value: 'Infomappen' },
    { value: 'Konferenzmappen' },
    { value: 'Klemmbretter' },
    { value: 'Klemmmappen' }
  ];



  $('#autocomplete').autocomplete({
    lookup: tags,
    width: "auto",
    onSelect: function (suggestion) {
    document.location.href = "/search?q=" + $(this).val()
    }
  });

});

1 个答案:

答案 0 :(得分:0)

var names = ['Angebotsmappen', 'Angebotsordner', 'Abheftmappen', 'Außendienstmappen']; //until whatever
var tags = [];

for(var i = 0; i < tags.length; i++){
    tags.push({'value': tags[i]});
}

只需创建一个名称数组,并使用循环创建一个键/值对。

如果您对函数式编程(maps)感到满意,那就更短了:

 ['Angebotsmappen', 
'Angebotsordner', 
'Abheftmappen', 
'Außendienstmappen'].map(function(i){return {value: i}});