我正在寻找最短的未经模糊处理的代码来反转jquery中的多行字符串。例如,
ABCD
edfg
HIJK
应该成为
DCBA
gfde
kjih
一个极其复杂的例子如下:
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;
}
什么是更好的方式?
答案 0 :(得分:4)
你可以做;
text = text.split('\n').map(function(el) {return el.split('').reverse().join('')}).join('\n');
首先,我们按换行分割文本并获取一行数组,然后反转每一行,然后用换行符('\ n')加入数组并获取一个字符串。
答案 1 :(得分:1)
这是最短的一个:
duplicity --rsync-options="--rsync-path=/usr/syno/bin/rsync" ~ rsync://remoteuser@nas.domain.com:/home/remoteuser/backup
答案 2 :(得分:0)
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');
答案 3 :(得分:-2)
CSS:
.flipped {
transform: scale(-1, 1);
}
jQuery的:
$("#some_div").addClass("flipped");