Javascript Twitter字体,列出对象数组

Javascript Twitter字体,列出对象数组,javascript,jquery,arrays,twitter,Javascript,Jquery,Arrays,Twitter,我在使用对象数组的Twitter字体时遇到问题 请在这里查看JSBin 下面是序列化对象数组 var phoneNumbers = { "data": [ { "phone": "+1 (923) 562-3211" }, { "phone": "+1 (924) 431-3216" }, { "phone": "+1 (932) 411-2223" }, { "phone": "+1

我在使用对象数组的Twitter字体时遇到问题

请在这里查看JSBin

下面是序列化对象数组

var phoneNumbers = 
{
  "data": [
    {
      "phone": "+1 (923) 562-3211"
    },
    {
      "phone": "+1 (924) 431-3216"
    },
    {
      "phone": "+1 (932) 411-2223"
    },
    {
      "phone": "+1 (857) 584-3623"
    },
    {
      "phone": "+1 (914) 472-3779"
    },
    {
      "phone": "+1 (876) 554-3637"
    },
    {
      "phone": "+1 (916) 537-3873"
    }
  ]
};

我修改了您的代码,而不是传递对象,而是将数组传递给“local”选项。 由于源是一个对象数组,因此最好通过添加“display”选项来指定要显示的属性值

var phones = new Bloodhound({
    datumTokenizer: Bloodhound.tokenizers.obj.whitespace('phone'),
    queryTokenizer: Bloodhound.tokenizers.whitespace,
    identify: function(obj) { return obj.phone; },
    local: phoneNumbers.data });

$('.typeahead').typeahead({
 hint: true,
 highlight: true,
 minLength: 1 },{
 name: 'phones',
 source: phones,
 display: 'phone' });

请描述这是如何解决问题的,因为我很难看到实际的变化是什么。“phoneNumbers.data”就是变化