如何通过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)你可以循环使用replace
userId
和''
(空字符串),你会得到你所期望的
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从数组中的主字符串中排除字符串部分的主要内容,如果未能解决你的问题,请参考以下文章
从 UIWebView 委托方法中排除外部 javascript 内容
如何从VS2012单元测试中的代码覆盖率分析中排除名称以“.Test”结尾的项目