请问js如何每隔两个逗号将字符串分割成一个数组

发布于 2022-09-12 13:26:41 字数 59 浏览 14 评论 0

008,00801,008,00802,009,00901
像这样的数据每隔两个逗号分割成一个数组

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

冷清清 2022-09-19 13:26:44

let str = "008,00801,008,00802,009,00901";

let arr = str.split(",");
let num = 2;
let newArr = arr.reduce((pre, cur, index) => {
  if (index % num === 0) {
    return pre.concat([arr.slice(index, index + num)]);
  } else {
    return pre;
  }
}, []);
console.log("newarr==", newArr);
国粹 2022-09-19 13:26:44

一个低效的正则

'008,00801,008,00802,009,00901'.split(/(?<=^(?:[^,]*?,[^,]*?,)*?[^,]*?,[^,]*?),/)
// ["008,00801", "008,00802", "009,00901"]

或者如果确保只包含数字和逗号的话:

'008,00801,008,00802,009,00901'.split(/(?<=^(?:\d*?,\d*?,)*?\d*?,\d*?),/)
酒浓于脸红 2022-09-19 13:26:41
function splitNumberByGroup(str, group) {
  var nums = str.split(',');
    return nums.reduce((res, num, i) => {
        res[i/group|0].push(num)
        return res;
    }, Array.from({length: Math.ceil(nums.length/group)}, () => []))
}

splitNumberByGroup('008,00801,008,00802,009,00901', 2)
夜唯美灬不弃 2022-09-19 13:26:41
let str = '008,00801,008,00802,009,00901';
let ar  = str.split(',');
let newArray = [];

for (index in ar) {
      if (index %2 != 0) {
        newArray.push(ar[index-1]+','+ar[index]);
    }
}
if (ar.length %2 != 0) {
 newArray.push(ar[ar.length-1]);  
}
console.log(newArray);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文