【问题标题】:JavaScript: Preserve the data types of individual data when split into an array?JavaScript:拆分为数组时保留单个数据的数据类型?
【发布时间】:2014-07-14 06:47:07
【问题描述】:

在Javascript中,使用split方法拆分后是否可以保留每个数据字段的数据类型?

输入:

var row = "128, 'FirstName, LastName', null, true, false, null, 'CityName'";

使用 split 方法进行拆分时,每个字段的数据类型都会丢失。结果是一个字符串数组,如下所示。

row.split(',');

["128", " 'FirstName", " LastName'", " null", " true", " false", " null", " 'CityName'"]

一个强大的 CSV 到数组函数,就像我在这里找到的那​​样:CSVtoArray 也返回了相同的字符串输出数组。

有什么建议吗?

【问题讨论】:

  • 您为什么要这样做? == 运算符自动类型转换操作数。
  • 你不能“保留”不存在的东西。那是一个字符串。它的所有子字符串也是字符串。没有什么可保存的。如果你想将它的一部分转换为其他类型,你需要将该类型强加到解析的子字符串上。
  • 数据从何而来?你应该在那里解决问题。例如,以 JSON 格式发送数据。

标签: javascript csv


【解决方案1】:

我们必须从字符串显式转换为适当的格式。下面给出的函数就是这样做的。

  function toNative(value) {
  if (typeof value === 'string') {
    if (value === 'true' || value === 'false') {
      return value === 'true'
    } else if (!isNaN(+value)) {
      return +value
    }
  }
  return value
}

我在以下位置找到了此功能:https://github.com/typicode/json-server/blob/master/src/utils.js

【讨论】:

    猜你喜欢
    • 2020-08-13
    • 2018-11-20
    • 2015-08-09
    • 1970-01-01
    • 2015-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多