【问题标题】:How to cut a string that is a value of an array in 2?如何剪切作为2中数组值的字符串?
【发布时间】:2022-11-11 20:39:19
【问题描述】:

我有这个具有length = 3 的数组:

 state = ["q0", "q1", "q2,q3"]

我想修改它,我希望它看起来像这样:

 state = ["q0", "q1", "q2", "q3"] // length = 4.

我想以一种可以得到"q2""q3" 的方式剪切string = "q2,q3",这样我就可以用"q2" 替换state[2] 值并自动添加到数组中,例如state[3] = "q3"

有谁知道我该怎么做?

我尝试了split 方法,但它没有按我的意愿工作。

【问题讨论】:

  • state.join(",").split(",") 会成功的。但是,这确实应该在数据源上解决。

标签: javascript arrays string


【解决方案1】:

实现这一目标的一种简单且坦率地说是幼稚的方法:

let state = ["q0", "q1", "q2, q3"].map(
  (str) => {
    let [...subunits] = str.split(',');
    return subunits.length > 1 ? subunits.map((el) => el.trim()) : str;
  }).flat();

console.log(state);

【讨论】:

    【解决方案2】:

    我会遍历state,尝试拆分每个值,然后将它们推送到 res 数组。

    const state = ["q0", "q1", "q2,q3"];
    
    const res = [];
    
    state.forEach((value) => {
      const splitValue = value.split(",");
      res.push(...splitValue);
    });
    

    【讨论】:

      【解决方案3】:

      您可以使用三种 javascript 方法来完成。 forEach()concat()split()

      let result = []
      
      state.forEach(a => result = result.concat(a.split(",")))
      

      【讨论】:

        【解决方案4】:
        let state = ["q0", "q1", "q2,q3"];
        state=state.join(',');
        state=state.split(',');
        console.log(state);
        

        【讨论】:

          【解决方案5】:

          您好,我举了一个例子,获取最后一个索引中的间隙并将其拆分

          let deneme = ["first","second","third fourth"];
          
          
          let index = deneme[2].indexOf(" ");  // Gets the first index where a space occours
          let firstPart = deneme[2].slice(0, index); // Gets the first part
          let secondPart = deneme[2].slice(index + 1);
          
          console.log("first try" ,deneme);
          deneme[2] = firstPart;
          deneme.push(secondPart);
          console.log("second look",deneme);

          【讨论】:

            【解决方案6】:

            flatMap 非常适合这个。 ["q0", "q1", "q2,q3"].flatMap(v => v.split(','))

            【讨论】:

              【解决方案7】:

              python 中列表的一大优点是您可以使用 + 运算符连接多个列表。我建议再次尝试 split() 函数,因为它返回一个列表,当我测试它时它对我有用。

              state = ["q0", "q1"]
              string = "q2,q3"
              
              state+=string.split(",")
              
              print(state)
              

              您还可以使用 append() 函数添加到列表的末尾。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2021-02-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多