Вот версия CoffeeScript для тех, кто предпочитает это:
Array.prototype.equals = (array) ->
return false if not array # if the other array is a falsy value, return
return false if @length isnt array.length # compare lengths - can save a lot of time
for item, index in @
if item instanceof Array and array[index] instanceof Array # Check if we have nested arrays
if not item.equals(array[index]) # recurse into the nested arrays
return false
else if this[index] != array[index]
return false # Warning - two different object instances will never be equal: {x:20} != {x:20}
true
Все кредиты передаются @ tomas-zato.
Если Вы хотели бы к , сохраняют разрывы строки, Вы могли бы попробовать:
function parse($text) {
// Damn pesky carriage returns...
$text = str_replace("\r\n", "\n", $text);
$text = str_replace("\r", "\n", $text);
// JSON requires new line characters be escaped
$text = str_replace("\n", "\\n", $text);
return $text;
}
Разрывы строки не являются проблемой так, поскольку их нужно правильно оставить в JSON. Если это доступно Вам, можно использовать json_encode, который автоматически выходит из новых строк. Приводя это к сбою, можно использовать что-то как метод Pim Jager выше, хотя надлежащий кодер JSON был бы лучшим.
сделайте Вы получаете разрывы строки как < br/> или новые строки как \n? Но попытайтесь заменить их PHP.
<?php
$string = 'asdfasf<br />asdfasf';
echo str_replace('<br />', '', $strin); // Replace <br /> with '' (nothing)
?>
или выезд urlencode
Как Terw, но с заменой \n
<?php
$json = str_replace('\n', '', $json);
?>
Должен удалить все разрывы строки, jQuery не должен заменять
, теги, но разрывы строки не должны быть в JSON.