删除没有定界符的字符串中的重复字符串

问题描述

我正在使用其他系统的某些输出,这些输出无法更改,这需要我在while循环中整理每次迭代的输出

迭代1的输出John Smith 迭代2的输出John SmithJohn Smith

我如何使用Javascript整理输出,以便它是:

迭代1的输出John Smith 迭代2的输出John Smith

当前代码

var names = document.evaluate("/html/body/div[1]/c-wiz/div[1]/div/div[5]/div[3]/div[3]/div/div[2]/div[2]/div[2]/span[1]/div[2]/div/div/div",document,null,XPathResult.ORDERED_NODE_IteraTOR_TYPE,null); 
var thisName = names.iterateNext(); 
var arr = [];

while (thisName) {
  arr.push(nameComplete);
  thisName = names.iterateNext();
}
console.log(arr);

输出

["Josh ParkerJosh Parker","John SmithJohn Smith","David JamesDavid James"]

解决方法

如果您输入的内容加倍,而您只需要字符串的一半,则使用String.prototype.slice()和字符串长度来取前一半。

var names = ["Josh ParkerJosh Parker","John SmithJohn Smith","David JamesDavid James"]; 
var arr = [];

for (var thisName of names) {
  arr.push(thisName.slice(0,thisName.length/2));
}
console.log(arr);