【问题标题】:Array removal of \t\n. --NodeJS--数组删除\t\n。 --NodeJS--
【发布时间】:2018-06-26 18:15:56
【问题描述】:

当前数组:

[ '3\n\t\t\t\t\n\t\n\n\t\t\t\n\t\t\t\t3.5\n\t\t\t\t\n\t\n\n\t\t\t\n\t\t\t\t4\n\t\t\t\t\n\t\n\n\t\t\t\n\t\t\t\t4.5' ]

我正在努力让数字像

[3,3.5,4,4.5]

这样:

array[0] = 3

我已经尝试过这些方法[在将字符串推入数组之前不适用于字符串,可能是因为它是通过 Cheerio 的 jquery 派生的]。

var trim = numbers.trim()
array.push(trim).replace(/\\n/g, '')

【问题讨论】:

  • 你不能从源头解决这个问题吗?去除 JS 中的垃圾似乎是一种变通方法。
  • arr = arr[0].split(/\s+/).map(Number);

标签: jquery arrays node.js


【解决方案1】:

const arr = [ '3\n\t\t\t\t\n\t\n\n\t\t\t\n\t\t\t\t3.5\n\t\t\t\t\n\t\n\n\t\t\t\n\t\t\t\t4\n\t\t\t\t\n\t\n\n\t\t\t\n\t\t\t\t4.5' ]
const parsed = arr[0].split(/\s+/).map(item => Number(item));

console.log(parsed)

【讨论】:

  • 嗨,对不起,这个方法也有效,但是还有更多的调整需要做,比如开始和结束都有一个额外的 [0] 索引,因此我选择了另一个答案。感谢您的提交。
【解决方案2】:

你可以先用特殊字符替换所有的换行符和制表符,然后过滤掉定义的值:

var array = [ '3\n\t\t\t\t\n\t\n\n\t\t\t\n\t\t\t\t3.5\n\t\t\t\t\n\t\n\n\t\t\t\n\t\t\t\t4\n\t\t\t\t\n\t\n\n\t\t\t\n\t\t\t\t4.5' ]
array = array[0].replace(/\n|\t/g, '&').split('&').filter(item => item);
console.log(array);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 2019-12-30
    • 2011-03-01
    • 2012-06-04
    • 2011-08-03
    • 2015-05-08
    • 1970-01-01
    相关资源
    最近更新 更多