オートコンプリートを使用して入力テキストに表示する値の配列を定義する必要があるため、実際には質問は先行入力ブートストラップに関連しています。
とにかく、目標は、オブジェクトの配列を読み取り、文字列の配列を返す関数を定義することです。これが私のコードです(1)。
(1) の目標は次のとおりです。1) オブジェクトの配列から文字列の配列を取得します。2) いくつかの要素を拒否して、この配列をフィルタリングします。
拒否したい要素が配列に残っているため、機能しません。実際、オートコンプリートでは false 値を取得しますが、実際にはコードが壊れています。
コードをどのように修正し、おそらく改善する必要がありますか?
(1)
element.typeahead({
source: function ( {
var users = _.map(app.userCollection.models, function (model) {
if (model.get('id') === app.currentUser.id) {
return false;
}
return model.get('first_name') + ' ' + model.get('last_name');
});
console.log(users); // [false, 'some name'];
_.reject(users, function(name) {
return name === false;
});
console.log(users); // [false, 'some name'];
// why does the false value persist?
return users;
}
});