Просто добавьте что-то примечательное здесь.
myQueue.hpp:
template <class T>
class QueueA {
int size;
...
public:
template <class T> T dequeue() {
// implementation here
}
bool isEmpty();
...
}
myQueue можно определить методы шаблонного класса, которые просто прекрасны в файле реализации. cpp:
// implementation of regular methods goes like this:
template <class T> bool QueueA<T>::isEmpty() {
return this->size == 0;
}
main()
{
QueueA<char> Q;
...
}
Это потому, что вы отображаете data
(поэтому вы хотите, чтобы функция выполнялась для каждого элемента массива данных), но вы также используете данные для установки имени и идентификатора.
Таким образом, данные все еще находятся в функции [{name:"item1","id":"1"},{name:"item2","id":"2"},etc..]
, но event
должен получить текущий зацикленный элемент из массива.
Попробуйте что-то вроде и не забывайте документ :
$('#search-input').autocomplete({
source: function (request, response) {
$.getJSON("api/autocomplete.php?keyword=" + $("#search-input").val(), function (data) {
console.log(data);
response($.map(data, function (elementOfArray, indexInArray ) {
return {
label: elementOfArray.name,
value: elementOfArray.id
};
}));
});
}
});
Кроме того, ES6 реализует карту , лучше использовать функцию no-jquery когда возможно:
response(data.map((elementOfArray, indexInArray) => {
return {
label: elementOfArray.name,
value: elementOfArray.id
};
}));
Пример фрагмента без Ajax
data = [{name:"item1","id":"1"},{name:"item2","id":"2"}]
console.log(data.map((item, idx) => {
return {
label: item.name,
value: item.id
};
}));