javascript - 根据字符串列表数组动态查找indexof

标签 javascript ecmascript-6

如何根据下面的示例字符串数组对字符串进行切片

[
    'PAP02-123-101-000-000-000-000-0000-SP-01-01',
    'PAP02-123-102-000-000-000-000-0000-SUN-01-02',
    'PAP02-123-102-000-000-000-000-0000-SUT-01-01'
]

这是最终的输出

SP-01-01
SUN-01-02
SUT-01-01

这是我能想到的实现所需输出的方法

const str = 'PAP02-123-102-000-000-000-000-0000-SUN-01-02';
const newStr = str.substring(str.indexof(str.match(/^(SP|SUP|SUN)$/)))

最佳答案

您可以拆分反转解构

此方法适用于任何字符串,因为无论每个标记的长度如何,都会获取最后三个出现的位置。

var array = [
  'PAP02-123-101-000-000-000-000-0000-SP-01-01',     
  'PAP02-123-102-000-000-000-000-0000-SUN-01-02', 
  'PAP02-123-102-000-000-000-000-0000-SUT-01-01'
];

var result = array.map((s) => {
  let [a, b, c] = s.split('-').reverse();
  return `${c}-${b}-${a}`;
});

console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }

关于javascript - 根据字符串列表数组动态查找indexof,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48895998/

相关文章:

javascript - 在 React 中,如何将对象数组作为查询字符串传递到端点 url?

javascript - 了解 ECMAScript 的 ReturnIfAbrupt(AbstractOperation())

javascript - 遍历一个对象,并从另一个对象设置它的值

javascript - 从作为ajax响应加载到div中的页面中删除html元素

javascript - 如何检测#tabs-N是否被点击

javascript - 如何在列表中动态生成输入字段,然后从所述字段中检索文本?

javascript - 如何在 Javascript 中导入语法之前运行几个代码?

javascript - Passportjs 阻止注册后自动登录

javascript - 是否可以将javascript注入(inject)到使用ajax调用后加载的dom中?

javascript - 带有命名空间的从 ES5 到 ES2015 的代码迁移