Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在jquery中翻转多行文本的最快方法_Javascript_Jquery - Fatal编程技术网

Javascript 在jquery中翻转多行文本的最快方法

Javascript 在jquery中翻转多行文本的最快方法,javascript,jquery,Javascript,Jquery,我正在寻找最短的一行未模糊代码来反转jquery中的多行字符串。比如说, abcd edfg hijk 应该成为 dcba gfde 克吉 一个极其复杂的示例如下所示: function fliptext() { var text = document.getElementById('input_output').value; text = text.replace(/\r/gi, ''); text = text.replace(/([^a-z 0-9\n])/gi,

我正在寻找最短的一行未模糊代码来反转jquery中的多行字符串。比如说,

abcd

edfg

hijk

应该成为

dcba

gfde

克吉

一个极其复杂的示例如下所示:

function fliptext() {
    var text = document.getElementById('input_output').value;
    text = text.replace(/\r/gi, '');
    text = text.replace(/([^a-z 0-9\n])/gi, ' $1 ');
    text = text.split('\n').reverse().join('\n');
    text = text.split('').reverse().join('');
    text = text.replace(/ ([^a-z 0-9\n]) /gi, '$1');
    document.getElementById('input_output').value = text;
}
有什么更好的方法?

CSS:

.flipped {
    transform: scale(-1, 1);
}
jQuery:

$("#some_div").addClass("flipped");
你可以做

text = text.split('\n').map(function(el) {return el.split('').reverse().join('')}).join('\n');

首先,我们用换行符拆分文本并得到一个行数组,然后反转每一行,然后用换行符('\n')连接数组并得到一个字符串。

以下是最短的一个:

var el = document.getElementById('input_output');
var value = el.value;
// Split on newline and iterate over each line 
//   this will preserve the the line numbers.
var output = value.split('\n').map(function(line) {
  // Split on each character this will create an array
  //   like this: "abc" -> ["a", "b", "c"]
  //   .reverse() will reverse the array -> ["c", "b", "a"]
  //   .join will make the array a string again.
  return line.split('').reverse().join('');
}).join('\n');
var text = "abcdef\n123\n789";
text = text.split('').reverse().join('').split("\n").reverse().join("\n");

它不应该是
el.split(“”).reverse()
?@keune这与编写
text.split(“”).reverse().join(“”)是有意义的,因为它是一个字符串,所以不需要遍历每一行。@keune并且不支持
text=“abc\ndef”
,因为你可以在OP想要
的地方找到
“fed\ncba”
“cba\nfed”
这对于PPCG来说是一个很好的笑话/漏洞。它确实翻转了一个元素,但没有翻转值/innerHTML。这两个可能是该代码的一个用例。