Javascript 有没有办法从数组';s元素?

Javascript 有没有办法从数组';s元素?,javascript,Javascript,有没有办法从数组的元素中删除类似的单词 初始数组: var arr = ["element first", "element second", "element third"]; 预期结果: var result = ["first", "second", "third"]; 谢谢 注意:使用ES6 const arr=[“元素第一”、“元素第二”、“元素第三”]; const replaced=arr.map(el=>el.replace('element',''); 控制台日志(已替换

有没有办法从数组的元素中删除类似的单词

初始数组:

var arr = ["element first", "element second", "element third"];
预期结果:

var result = ["first", "second", "third"];
谢谢

注意:使用ES6

const arr=[“元素第一”、“元素第二”、“元素第三”];
const replaced=arr.map(el=>el.replace('element','');

控制台日志(已替换)您可以找到常用字符(在同一索引中)并过滤字符串中的字符

var数组=[“元素第一”、“元素第二”、“元素第三”],
公共=数组
.map(a=>[…a])
.reduce((a,b)=>a.map((v,i)=>v==b[i]?v:null))
.过滤器(布尔值),
result=array.map(a=>[…a].filter((v,i)=>v!==common[i]).join(“”));
控制台日志(结果);
console.log(通用)

.as console wrapper{max height:100%!important;top:0;}
您可以为
arr
数组中包含的单词创建一个字典,并为字典中的每个条目分配一个索引。我们希望:

var wordList=[“元素第一”、“元素第二”、“元素第三”]
//这可能是一个物体,但我要的是一张地图
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map
var wordMap=newmap()
for(var i=0;iconsole.log(wordList)
您可以删除所有字符串中的第一个单词

var arr = ["element first", "element second", "element third"];

var output = []; 
for (var i =0; i < arr.length; i++) {
    var items =  arr[i].split(" ");
    arr[i] = arr[i].replace(items[0] + " ", "");
    output[i] = arr[i];
}

console.log(output);
var arr=[“元素第一”、“元素第二”、“元素第三”];
var输出=[];
对于(变量i=0;i
输出是您所需的阵列。

  • 使用适当的尾部递归函数将数组缩减为其公共前缀,以建立与当前字符串开头匹配的当前前缀子集
  • 将数组映射到一个新的字符串数组,该字符串是超过前缀长度的一段字符
const arr=[“元素第一”、“元素第二”、“元素第三”],
pre=arr.reduce((pfx,b)=>toPrefix(pfx,b)),
res=arr.map(a=>a.slice(pre.length));
log(“已删除:%s\n结果:%s”、JSON.stringify(pre)、JSON.stringify(res));
函数toPrefix(pfx,b,n=0){
返回b[n]&&pfx[n]==b[n]?toPrefix(pfx,b,n+1):b.slice(0,n);

}
是。你试过什么吗?你知道“元素”就是你想要移除的部分吗?或者你是在问是否有一种通用的方法来删除“所有项目开头的共享字符串,不管它是什么”?这个问题是非常不明确的。请定义如何定义»相似«元素:以相同字符串开始?或包含任何地方?只有当它影响到所有项目或只是其中的任何一个子集时?是的,我试图这样做“所有项目都以共享字符串开头,不管它是什么”