代码之家  ›  专栏  ›  技术社区  ›  Martin Carre

为什么找不到我的空白?

  •  -1
  • Martin Carre  · 技术社区  · 6 年前

    不知什么原因,我的 str.split(" ") 命令似乎不起作用。我已经试着调试了一段时间,但似乎找不到解决方案。让我首先说,不幸的是,我无法复制错误。我尝试过创建一个JSFIDLE,但它工作正常。

    这是我的问题 :我有一个JSObject“library”,在它上面我循环创建MongoDocuments,在这个“构造”过程中,我得到以下信息:

    if (payload[i].asking) {
            let price = payload[i].asking
            price = price.substring(1, price.length);
            console.log(price);
            console.log(price.indexOf(" "));
            const priceArr = price.split(" ");
            console.log(priceArr);
            price = priceArr[0];
            currency = priceArr[1];
            listing.set('asking', price);
            listing.set('currency', currency);
          }
    

    哪里 :

    • payload 是完整的JSObject“库”
    • [i] 当前JSO对象
    • asking

    结果如下:

    500.00 eur
    -1
    [ '500.00 eur' ]
    950.00 eur
    -1
    [ '950.00 eur' ]
    5,000.00 usd
    -1
    [ '5,000.00 usd' ]
    250.00 usd
    -1
    [ '250.00 usd' ]
    800.00 usd
    -1
    [ '800.00 usd' ]
    899.00 usd
    -1
    [ '899.00 usd' ]
    3,500.00 usd
    -1
    [ '3,500.00 usd' ]
    2,800.00 usd
    -1
    [ '2,800.00 usd' ]
    2,250.00 usd
    -1
    [ '2,250.00 usd' ]
    3,750.00 usd
    -1
    [ '3,750.00 usd' ]
    1,500.00 usd
    -1
    [ '1,500.00 usd' ]
    5,800.00 usd
    -1
    [ '5,800.00 usd' ]
    2,500.00 usd
    -1
    [ '2,500.00 usd' ]
    

    所以我明白为什么 price.split(" ") 空白 首先 (indexOf(" ") === -1) 但我不知道为什么,发生了什么。 payload[i].asking 是一个 一串 好的( price.substring 证明了这一点)但我不明白为什么会这样 空白

    1 回复  |  直到 6 年前
        1
  •  0
  •   Martin Carre    6 年前

    好吧,我找到了另一种方法,使用正则表达式,尽管它不能解决我描述的问题:

    const priceArr = price.split(/(\s+)/)
    

    它可能会帮助其他人。。。

    推荐文章