Я пытаюсь перебрать список «значений» и преобразовать его в строку. Вот код:
var blkstr = $.each(value, function(idx2,val2) {
var str = idx2 + ":" + val2;
alert(str);
return str;
}).get().join(", ");
Функция alert () работает нормально и отображает правильное значение. Но почему-то функция jquery .get () не получает нужный объект и не работает. Что я делаю не так?
Ответы:
Если
value
это ассоциативный массив, такой код будет работать нормально:(вывод появится в консоли разработчика)
Как упоминал Феликс,
each()
просто повторяет массив, не более того.источник
Преобразование из массива в строку так просто!
Вот и все. Теперь A - это строка. :)
источник
[1,2,[3]].toString()
, вы получите1,2,3
, что довольно вздорно. Этот ответ - просто худший способ написать тот же вызов тому же самому неработающему строковому методу. 42 голоса за ??['Sunday','Monday','Tuesday','Wednesday','Thursday'].join('');
Array.join()
определенно лучший вариант, поскольку он не просто объединяет значения запятыми, но позволяет пользователю определять, как должно выполняться объединение. Например, вы можете использовать запятую + пробел.Вы можете использовать
.toString()
для присоединения к массиву через запятую.Или установите разделитель с помощью
array.join('; '); // result: a; b; c
.источник
не уверен, что вы этого хотели, но
Это приводит к следующему выводу:
источник
Четыре метода преобразования массива в строку.
Принуждение к струне
призвание
.toString()
Явное присоединение с помощью
.join()
Вы можете использовать другие разделители, например,
', '
С помощью
JSON.stringify()
Это чище, так как кавычки строк внутри массива и правильная обработка вложенных массивов.
источник
jQuery.each
просто перебирает массив, он ничего не делает с возвращаемым значением ∆ . Вы ищетеjQuery.map
(я также считаю, что вget()
этом нет необходимости, поскольку вы не имеете дело с объектами jQuery):DEMO
Но зачем вообще использовать jQuery в этом случае?
map
только вводит ненужный вызов функции для каждого элемента.∆: он использует только возвращаемое значение независимо от того, следует ли продолжать цикл по элементам или нет. Возврат «ложного» значения остановит цикл.
источник
map
еслиvalue
это объект jQuery. И тогда вы должны использоватьvalue.map(...).get()
. Но если у вас есть просто массив объектов jQuery, вам не нужноget
. Пожалуйста :)использование
join()
и разделитель.Рабочий пример
источник
это моя функция, преобразовать объект или массив в json
Я просто редактирую версию 0.2 ^. ^
источник
Мне нужен массив, чтобы он стал строковым представлением массива, я имею в виду, что мне нужно было это
может кому надо :)
источник
ИЛИ
источник
преобразовать массив в строку параметров GET, которую можно добавить к URL-адресу, можно сделать следующим образом
назовите эту функцию как
который перенаправит пользователя в / site / search? страница с параметрами get, указанными в массиве, переданном для encodeGet.
источник
Не следует путать массив со списками ... Это список: {...}, не имеющий длины или других свойств массива.
Это массив: [...], и вы можете использовать функции массива, методы и т. Д., Как это предложено здесь: someArray.toString ();
"SomeObj.toString ();" просто не будет работать ни с одним другим типом объектов, например со списками. ;-)
источник
Array.prototype.toString ()
Метод toString () возвращает строку, представляющую указанный массив и его элементы.
Синтаксис
Возвращаемое значение
Строка, представляющая элементы массива.
Чтобы получить больше информации :
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toString
источник
Вот пример использования функций подчеркивания.
Окончательный результат будет «moe, larry, curly».
источник