使用正则表达式分割数组javascript

问题描述 投票:0回答:1

我试图将这个数组分成 2 或 3 部分并卡住。这就是我到目前为止所拥有的,如果我使用其中一根拼接线,它可以工作,但如果我使用所有拼接线来测试用例,则不行。 我想要:

  1. 抓取运算符之前的所有内容并将其组合成一个数字 - 变量
  2. 抓取运算符之后的所有内容并将其组合成一个数字 - 变量
  3. 抓住运算符并给它一个单独的变量
const re = /^(\+\/\-\*)$/

let store1 = ["7", "1", "+", "9", "6"]
store2 = store1.splice(0, store1.indexOf(re));

// This does not work all at once, only if one line is uncommented
//store2 = store1.splice(0, store1.indexOf('+'));
//store2 = store1.splice(0, store1.indexOf('-'));
//store2 = store1.splice(0, store1.indexOf('*'));
//store2 = store1.splice(0, store1.indexOf('/'));

console.log(store1)
console.log(store2)

我尝试了在代码中发布的内容,我尝试转动 array.toStrings() 并循环,但还无法理解它。

javascript arrays string splice array-splice
1个回答
0
投票

鉴于“数组”的格式看起来像字符串,使用稍微改变的正则表达式将其解析为字符串可能会更容易。

要将数组转换为不带分隔符的字符串,请使用

.join("")

const re = /(\+|\-|\*)/;
let store1 = ["7", "1", "+", "9", "6"];

console.log(store1.join("").split(re))
© www.soinside.com 2019 - 2024. All rights reserved.