Проверьте метод JSON.stringify()
Возможно, вы захотите сделать
JSON.stringify({"message": $('#msg').val(), "password": $('#pass').val()});
См. JSON.stringify
std::remove
на самом деле не стирает элемент из контейнера, но он действительно возвращает новый конечный итератор, который может быть передан container_type::erase
, чтобы сделать РЕАЛЬНОЕ удаление дополнительных элементов, которые являются теперь в конце контейнера:
std::vector<int> vec;
// .. put in some values ..
int int_to_remove = n;
vec.erase(std::remove(vec.begin(), vec.end(), int_to_remove), vec.end());
Используйте станд. глобального метода:: удалите с начальным и конечным итератором и затем используйте станд.:: vector.erase для фактического удаления элементов.
Ссылки на документацию
станд.:: удалите http://www.cppreference.com/cppalgorithm/remove.html
станд.:: vector.erase http://www.cppreference.com/cppvector/erase.html
std::vector<int> v;
v.push_back(1);
v.push_back(2);
//Vector should contain the elements 1, 2
//Find new end iterator
std::vector<int>::iterator newEnd = std::remove(v.begin(), v.end(), 1);
//Erase the "removed" elements.
v.erase(newEnd, v.end());
//Vector should now only contain 2
Благодаря Jim Buck для указания на мою ошибку.
Если у Вас есть неотсортированный вектор, то можно просто подкачать с последним векторным элементом затем resize()
.
С заказанным контейнером, Вы будете лучше всего выключены с ‍ std::vector::erase()
. Обратите внимание, что существует std::remove()
определено в <algorithm>
, но это на самом деле не делает стирания. (Прочитайте документацию тщательно).
См. также станд.:: remove_if, чтобы смочь использовать предикат...
Вот пример из ссылки выше:
vector<int> V;
V.push_back(1);
V.push_back(4);
V.push_back(2);
V.push_back(8);
V.push_back(5);
V.push_back(7);
copy(V.begin(), V.end(), ostream_iterator<int>(cout, " "));
// The output is "1 4 2 8 5 7"
vector<int>::iterator new_end =
remove_if(V.begin(), V.end(),
compose1(bind2nd(equal_to<int>(), 0),
bind2nd(modulus<int>(), 2)));
V.erase(new_end, V.end()); [1]
copy(V.begin(), V.end(), ostream_iterator<int>(cout, " "));
// The output is "1 5 7".
Другие ответы касаются, как сделать это хорошо, но я думал, что также укажу, что это не действительно нечетно, что это не находится в векторном API: это - неэффективный, линейный поиск через вектор для значения, сопровождаемого набором копирования для удаления его.
при выполнении этой операции интенсивно это может быть станд. достойный рассмотрения:: набор вместо этого поэтому.