结合不同字符串的两部分

时间:2016-10-05 16:03:18

标签: javascript

正在处理需要预先填充数据的屏蔽字段。我有两组数据,但不想向用户显示整个数据。

我需要将两点信息组合在一起,但我似乎无法弄清楚如何做到这一点。

Str1 = XXXXX-XXXXX-XX00
Str2 = 12345-12345-1234

我需要合并这些字符串,以便用户只能看到XXXXX-XXXXX-XX34. 模式(Str1)可以改变,因此它不是石头图案,这使得这很困难。

有没有办法将它们结合起来?

2 个答案:

答案 0 :(得分:1)

你只需要使用use split来使你的字符串成为数组并映射以过滤最终数组并最终连接以获得这样的字符串:

var  Str1 = "XXXXX-XXXXX-XX00"
var Str2 = "12345-12345-1234"
var result = Str1.split("").map((x, index) => x==='0' ? Str2.split("")[index] : x).join("");
console.log(result); //XXXXX-XXXXX-XX34

答案 1 :(得分:0)

一种非常简单的方法

var a = "XXXXX-XXXXX-XX00";
var b = "12345-12345-1234";
var result = "";
if (a.length !== b.length) throw "Strings must be same length.";
for (let i = 0 ; i < a.length; i++) {
  switch (a[i]) {
    case '0':
      result += b[i];
      break;
    default:
      result += a[i];
  }
}
console.log(result);