Лучше JavaScript для функции строки? - PullRequest
0 голосов
/ 30 января 2011

Прежде чем пойти и создать это самому, я подумал, что увижу, знает ли кто-нибудь библиотеку, которая делает это.

Я ищу функцию, которая будет принимать что-то в Javascript, будь то массив, ассоциативный массив, число или даже строку, и преобразовывать его во что-то похожее на это. Например:

toString([1,2,3]) === '[1, 2, 3]'
toString([[1,2], [2,4], [3,6]]) === '[[1,2], [2,4], [3,6]]'
toString(23) === '23'
toString('hello world') === 'hello world'
toString({'one': 1, 'two': 2, 'three': 3}) === "{'one': 1, 'two': 2, 'three': 3}"

1 Ответ

4 голосов
/ 30 января 2011

Как уже упоминалось в комментариях (и я удивлен, что никто не опубликовал это в качестве ответа), JSON.stringify() - это метод, который вы ищете. В настоящее время он поддерживается в большинстве браузеров, но вы также можете реализовать его в браузерах, которые его не поддерживают, используя json2.js .

Рабочая демоверсия: http://jsfiddle.net/AndyE/WXfzJ/

Единственное исключение - функциональные объекты, которые не будут строковыми в JSON. Тем не менее, Function.prototype.toString вернет повторно анализируемое строковое представление функции, хотя вы должны знать, что пробел и комментарии могут быть удалены в зависимости от браузера:

function moo() {
    alert('cow says moo!');
}

alert(moo.toString());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...