gpt4 book ai didi

javascript - 如何删除数组数据中特定字符之前的所有字符

转载 作者:行者123 更新时间:2023-11-30 09:48:18 25 4
gpt4 key购买 nike

我有一个逗号分隔的字符串从网络服务中拉入我的应用程序,其中列出了用户的 Angular ​​色。我需要对这个字符串做的是将它变成一个数组,这样我就可以处理它以获得我的最终结果。我已经使用 jQuery 成功地将字符串转换为数组,这是目标 #1。目标 #2(我不知道该怎么做)是采用新创建的数组,并删除包含“/”(包括“/”)的任何数组项之前的所有字符。

我创建了一个简单的正在进行的 JSFiddle:https://jsfiddle.net/2Lfo4966/

我收到的字符串如下:ABCD,ABCD/Admin,ABCD/DataManagement,ABCD/XYZTeam,ABCD/DriverUsers,ABCD/RISC

上面字符串中的 ABCD/是可以改变的,可以是 XYZMNO

要转换为数组,我做了以下操作:

var importUserRole = 'ABCD,ABCD/Admin,ABCD/DataManagement,ABCD/XYZTeam,ABCD/DriverUsers,ABCD/RISC';
var currentUserRole = importUserRole.split(',');

使用 console.log,我得到以下结果:

["ABCD", "ABCD/Admin", "ABCD/DataManagement", "ABCD/XYZTeam", "ABCD/DriverUsers", "ABCD/RISC"]

我现在需要代码来查看数组的每个索引,如果 / 存在,删除 / 之前的所有字符,包括 /

我已经搜索了一个解决方案,但我找到的 JS 解决方案用于删除特定字符后的字符,并不是我完成此操作所需的。

最佳答案

您可以使用单个 for 循环遍历数组,然后通过 / 对值进行 split() 并检索最后一个值使用 pop() 生成的结果数组。试试这个:

for (var i = 0; i < currentUserRole.length; i++) {
var data = currentUserRole[i].split('/');
currentUserRole[i] = data.pop();
}

Example fiddle

使用 pop() 而不是显式索引(例如 [1])的好处是,如果其中没有斜线或有多个斜线,则此代码不会中断字符串。

您可以更进一步,使用 map() 使其更简洁:

var importUserRole = 'ABCD,ABCD/Admin,ABCD/DataManagement,ABCD/XYZTeam,ABCD/DriverUsers,ABCD/RISC';
var currentUserRole = importUserRole.split(',').map(function(user) {
return user.split('/').pop();
});

console.log(currentUserRole);

关于javascript - 如何删除数组数据中特定字符之前的所有字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37810897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com