Javascript - 在变量中交换数据 - 移动和替换

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Javascript - 在变量中交换数据 - 移动和替换相关的知识,希望对你有一定的参考价值。

我正在寻找一种简单的方法来移动和用javascript替换一些数据。这是一个例子......我总是有两个变量。每个都有一个单词,后跟<p>标签内的另一个单词,就像这样...... x="Hello<p>World</p>"y="Goodbye<p>People</p>" 步骤1)我不再需要x变量中的数据和<p>标签。从变量中删除它,使其成为x="Hello" 步骤2)我需要将x变量与y变量的第一部分交换。所以最终结果将是...... x="Goodbye"y="Hello<p>People</p>"

答案

有许多方法可以做这样的事情。以下使用regex plus string.replace。

let x="Hello<p>World</p>";
let y="Goodbye<p>People</p>";
console.log('x starts as '+x);
console.log('y starts as '+y);

const r=/^(.*)<p>(.*)</p>/;

const xresult = r.exec(x);
//xresult = ["Hello<p>World</p>", "Hello", "World"]
x=xresult [1];
console.log('x now equals '+x);

const yresult = r.exec(y);
//yresult = ["Goodbye<p>People</p>", "Goodbye", "People"]

//now swap
y = y.replace(yresult[1],x);
x = yresult[1];

console.log(`x = ${x} y = ${y}`);
另一答案

尝试:

$(document).ready(function() {
    var x="Hello<p>World</p>";
    var y="Goodbye<p>People</p>";

   	 x = x.slice(0,x.indexOf("<p>"));
    var z= y.slice(0,y.indexOf("<p>"));

    y = y.replace(z,x);
    x = z;

    console.log("x=" + x + " y=" + y);

});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
另一答案

事实证明这比我想象的要容易。刚刚使用了一些子串......

x = x.substring(0, x.indexOf('<p>'));
z = y.substring(0, y.indexOf('<p>'));
y = y.substring(y.indexOf("<p>"));
y=x+y;
x=z;

以上是关于Javascript - 在变量中交换数据 - 移动和替换的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript两个变量的值交换的多种方式

JavaScript中无符号右移赋值操作

JavaScript中交换两个变量的值得三种做法(代码实现)

javaScript变量

javaScript变量

JavaScript不用临时变量交换两个变量的值的七种解决方案