如何通过javascript从数组中的主字符串中排除字符串部分

Posted

技术标签:

【中文标题】如何通过javascript从数组中的主字符串中排除字符串部分【英文标题】:How exclude string part from main string that has in array by javascript 【发布时间】:2022-01-22 14:44:06 【问题描述】:

我有如下字符串存在于数组中

getid Array [
  "E8R52y6dD8XI3shXhnhS9pVzUpe26Lf5bHwzCSbI2bmoMv7KuduMGwe2",
]

我想排除这部分E8R52y6dD8XI3shXhnhS9pVzUpe2

实际上 E8R52y6dD8XI3shXhnhS9pVzUpe2 这是 user.uid 。 这是两个用户 ID 组合 ID "E8R52y6dD8XI3shXhnhS9pVzUpe26Lf5bHwzCSbI2bmoMv7KuduMGwe2" 此组合 ID 存在于数组中。 这个数组中有这么多的组合ID。 我想从所有 combine id 中排除 user.uid E8R52y6dD8XI3shXhnhS9pVzUpe2 。 如果排除 user.uid ,则该数组中将保留一个 id 部分。 我想让这仍然是 id 值的一部分来使用。

let userid = E8R52y6dD8XI3shXhnhS9pVzUpe2
let combineId = ["E8R52y6dD8XI3shXhnhS9pVzUpe26Lf5bHwzCSbI2bmoMv7KuduMGwe2","E8R52y6dD8XI3shXhnhS9pVzUpe26Lh5bHrzCSvI2bmoMv7KuduMGwe2","E8R52y6dD8XI3shXhnhS9pVzUpe26Lf5bHwzCSbI2bmoMv7KuduMGwe2"]

// this is value what i want
let remainIdinArray = ["6Lf5bHwzCSbI2bmoMv7KuduMGwe2","6Lh5bHrzCSvI2bmoMv7KuduMGwe2","6Lf5bHwzCSbI2bmoMv7KuduMGwe2"]

怎么能这样。 谢谢

【问题讨论】:

【参考方案1】:

您可以使用地图和slice!


    let userid = "E8R52y6dD8XI3shXhnhS9pVzUpe2";
    let combineId = [
      "E8R52y6dD8XI3shXhnhS9pVzUpe26Lf5bHwzCSbI2bmoMv7KuduMGwe2",
      "E8R52y6dD8XI3shXhnhS9pVzUpe26Lh5bHrzCSvI2bmoMv7KuduMGwe2",
      "E8R52y6dD8XI3shXhnhS9pVzUpe26Lf5bHwzCSbI2bmoMv7KuduMGwe2"
    ];
    
    let remainIdinArray = combineId.map((id) => id.slice(-userid.length));
    
    console.log(remainIdinArray);

【讨论】:

这是正确答案。谢谢兄弟 不客气,祝你好运【参考方案2】:

1)你可以循环使用replaceuserId''(空字符串),你会得到你所期望的

let userid = "E8R52y6dD8XI3shXhnhS9pVzUpe2";
let combineId = [
  "E8R52y6dD8XI3shXhnhS9pVzUpe26Lf5bHwzCSbI2bmoMv7KuduMGwe2",
  "E8R52y6dD8XI3shXhnhS9pVzUpe26Lh5bHrzCSvI2bmoMv7KuduMGwe2",
  "E8R52y6dD8XI3shXhnhS9pVzUpe26Lf5bHwzCSbI2bmoMv7KuduMGwe2",
];

const result = combineId.map((id) => id.replace(userid, ""));
console.log(result);

2)你也可以使用slice,indexOf来得到想要的结果:

let userid = "E8R52y6dD8XI3shXhnhS9pVzUpe2";
let combineId = [
  "E8R52y6dD8XI3shXhnhS9pVzUpe26Lf5bHwzCSbI2bmoMv7KuduMGwe2",
  "E8R52y6dD8XI3shXhnhS9pVzUpe26Lh5bHrzCSvI2bmoMv7KuduMGwe2",
  "E8R52y6dD8XI3shXhnhS9pVzUpe26Lf5bHwzCSbI2bmoMv7KuduMGwe2",
];

const result = combineId.map((id) => id.slice(id.indexOf(userid) + userid.length));
console.log(result);

【讨论】:

这个输出是用 user.uid 得到的,我想输出的值不是 user.uid。如何编辑它。您的代码输出与 user.uid,getid Array [ "E8R52y6dD8XI3shXhnhS9pVzUpe26Lf5bHwzCSbI2bmoMv7KuduMGwe2", ] Array [ "E8R52y6dD8XI3shXhnhS9pVzUpe2", ] @micheal 你想说什么。请具体明确... 对不起,你的回答是正确的。我的错。

以上是关于如何通过javascript从数组中的主字符串中排除字符串部分的主要内容,如果未能解决你的问题,请参考以下文章

从 AlwaysOn 组中排除数据库

如何中断字符串,使它不在源代码中排成一行?

从 UIWebView 委托方法中排除外部 javascript 内容

如何从VS2012单元测试中的代码覆盖率分析中排除名称以“.Test”结尾的项目

如何使用 Javascript/jquery 将字符串中的数组显示为表行

从 DataGrip 中的“数据库、表、过程”搜索中排除数据库