javascript - 如何在特定位置用破折号分割字符串 JavaScript

标签 javascript arrays split

我有一个动态创建的数组,如下所示:

["171281-0-001-1", "171281-0-001-2"]

基本上,我是基于一个非常复杂的函数来创造值(value)的。但这个功能在这里并不重要。基本上,例如 171281-0-001-1 由帐号 + id 组成。 171281-0-001 是帐号,1 是 ID。 破折号的数量可以是任意数字,但在最后一个破折号之后它始终是 id。 我如何区分这些与我的值并将其分配给不同的变量?

尝试过:

for (let key in this.your_reference) {
  extractedAccountNumber = key.split('-')[0];
  extractedId = key.split('-')[1];
}

但是由于破折号现在可以是任意数量,因此变量的值是错误的。大家有什么想法吗?提前致谢

最佳答案

您可以使用map()split()从最后一个数组索引中获取项目:

var arr = ["171281-0-001-1", "171281-0-001-2"];
var idList = arr.map(d => {
  d = d.split('-');
  return d[d.length - 1];
});
console.log(idList);

关于javascript - 如何在特定位置用破折号分割字符串 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53515294/

相关文章:

java - 在 for 循环中嵌套 string.splits - 分配时内部 split 得到 NPE

javascript - 如何从cookie中读取json对象

javascript - 提交后在 php 中添加文本行

javascript - 如何使用属性值为 NaN 的 should.js 检查对象是否相等

javascript - 获取数组内的对象

perl - 如何将多行处理/存储到从 perl 文件读取的单个字段中?

javascript - 在服务器上为 socket.io 运行 index.js 时出错

javascript - 在 JavaScript/CoffeeScript 中确定一个数组是否包含另一个数组的内容

c - 使用指针访问数组

javascript - 仅当空格不包含在子字符串中时才使用正则表达式拆分空格