javascript 替换数组中的点符号

o7jaxewo  于 2023-09-29  发布在  Java
关注(0)|答案(4)|浏览(84)

在第一行中,输入是行d。在第二行中,输入由点分隔的一系列单词。您需要通过使用d个字符的组合分隔每个单词来输出这些单词。
举例说明:
样品输入:d= /|
dej.fow.orj.jkk.fgo.pwk.pkp.lde.efe样本输出:dej/|\fow/|联系我们|联系我们|\fgo|\r\n|联系我们|\lde/|埃菲

let d=prompt();
    let b=prompt();
    let arr=b.split('');
    for(let i in arr) {
        if(i.indexOf('.') !== -1){
            arr = i.replace(i.indexOf('.'), d)
      }
    }
    arr = arr.join()
    console.log(arr)`

不管用!

nwlls2ji

nwlls2ji1#

使用反斜杠转义特殊字符\escape)和Regex的.any character):\\\.

const d = "/|\\";
const input = "dej.fow.orj.jkk.fgo.pwk.pkp.lde.efe";
const result = input.replace(/\./g, d);
console.log(result)
iaqfqrcu

iaqfqrcu2#

看起来你想用字符d替换输入字符串B中的点。但是,您的代码中存在一些问题。您可以通过正确使用split和join方法来实现这一点。下面是更正的代码:

let d = prompt();
let b = prompt();
let arr = b.split('.'); // Split the input string by dots

// Join the array elements with the character 'd'
let result = arr.join(d);

console.log(result);

使用此代码,它将正确地将输入字符串B按点拆分,然后用字符d连接元素,从而获得所需的输出。

bakd9h0s

bakd9h0s3#

用替换点连接字符:

const d = "/|\\";
const input = "dej.fow.orj.jkk.fgo.pwk.pkp.lde.efe";

let result = '';
const arr = input.split('');
for(let i = 0; i<arr.length;i++){
  result += arr[i] === '.' ?  '/|\\' : arr[i];
}

console.log(result);

Array::reduce()版本:

const d = "/|\\";
const input = "dej.fow.orj.jkk.fgo.pwk.pkp.lde.efe";

const result = input.split('').reduce((r, c) => r += c === '.' ?  '/|\\' : c, '');

console.log(result);

基准:

` Cycles: 1000000 / Chrome/117
--------------------------------------------
Alexander   1.0x  |  139  142  145  150  172
Roco        1.2x  |  160  161  162  167  171
--------------------------------------------
https://github.com/silentmantra/benchmark `
<script benchmark="1000000">

// @benchmark Roco
'dej.fow.orj.jkk.fgo.pwk.pkp.lde.efe'.replace(/\./g, '/|\\')

// @benchmark Alexander
let output = '';
const arr = 'dej.fow.orj.jkk.fgo.pwk.pkp.lde.efe'.split('');
for(let i = 0; i<arr.length;i++){
  output += arr[i] === '.' ?  '/|\\' : arr[i];
}
output;
</script>
<script src="https://cdn.jsdelivr.net/gh/silentmantra/benchmark/loader.js"></script>
zzwlnbp8

zzwlnbp84#

<p id="demo"> Mr . has a blue house and a . car.</p>

let str = document.getElementById("demo").innerHTML; 
let res = str.replace(/./g, "d");

输出:d先生有一栋蓝色的房子和一辆d车。

相关问题