【问题标题】:convert array data in js在js中转换数组数据
【发布时间】:2020-11-05 13:25:00
【问题描述】:

它不应该存在 ' 在我的数组数据中绘制我的图表。 但我的数据如下:

var data=[['1','200','10'],['2','300','15'],...]

我如何以这种方式转换它?

var data=[[1,200,10],[2,300,15],...]

【问题讨论】:

  • 你可以像parseInt('1',10)这样解析字符串数字,这将返回1作为整数。但这是一种基本知识。我建议您深入研究数据类型...developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures
  • 您使用的是字符串而不是整数。您可以遍历数组并一一更改值。但这只会隐藏问题。问题出在您最初创建此数组时。你能提供你创建这个数组的代码吗?
  • 我从一个金融网站获得了这些数据,我正在尝试用这些数据绘制图表。不幸的是,我无法访问数据源,我只有它的输出,这个数组的长度超过 5000 个。有没有办法让我做出这种改变

标签: javascript arrays typeconverter


【解决方案1】:

示例:

var data=[['1','200','10'],['2','300','15']];
data.forEach(function (item, index) { 
   data[index] = item.map(Number);
}); 
console.log(data);

【讨论】:

    【解决方案2】:

    您可以遍历嵌套数组并将每个元素转换为整数。

    var data=[['1','200','10'],['2','300','15']]
    intData = [];
    
    data.forEach(x => {
      intData.push(x.map(s => parseInt(s)));
    });
    console.log(intData)
    

    【讨论】:

      【解决方案3】:

      这会将您的字符串数组转换为 int 数组:

      let new_data = [];
      
      data.forEach(element => {
          let buffer = [];
          element.forEach(item => {
              buffer.push(parseInt(item));
          });
          new_data.push(buffer);
      });
      

      【讨论】:

      • 为什么使用 for each 而不是 map?
      • 这只是实现结果的另一种方式
      【解决方案4】:

      要转换整个数组的数据类型,我们可以使用 map():

      var arrayOfNumbers = arrayOfStrings.map(Number);
      

      【讨论】:

      • 这不适用于问题中发布的嵌套数组
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-06-11
      • 2019-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-14
      • 1970-01-01
      相关资源
      最近更新 更多