我有一个字符串数组:
var myArray=['rwt-cable1','rwt-cable42','rwt-cable40',...]
但我真正感兴趣的是:
['cable1','cable42','cable40',...]
最好的方法是什么?我正在循环遍历项目并提取子字符串以获取我的输出数组。
答案 0 :(得分:8)
您可以使用split
和map
功能
var res = ['rwt-cable1', 'rwt-cable42', 'rwt-cable40'].map(e => e.split('-')[1]);
console.log(res);
答案 1 :(得分:1)
更简单的方法是
['rwt-cable1', 'rwt-cable42', 'rwt-cable40'].map(x => x.replace('rwt-', ''))
// ["cable1", "cable42", "cable40"]
答案 2 :(得分:1)
您可以使用正则表达式执行此操作:
var myArray= ['rwt-cable1','rwt-cable42','rwt-cable40'];
myArray = myArray.map(v => v.replace(/^rwt\-/,""));
console.log(myArray); //["cable1", "cable42", "cable40"]
正则表达式^rwt\-
将匹配字符串开头的文本rxt-
。
答案 3 :(得分:1)
使用Array.map
和Array.slice
函数的替代方法:
var myArray = ['rwt-cable1','rwt-cable42','rwt-cable40'],
result = myArray.map(function(v){ return v.slice(4); });
console.log(result); // ["cable1", "cable42", "cable40"]