Javascript D3.js数组在.map之后加双引号

Javascript D3.js数组在.map之后加双引号,javascript,arrays,d3.js,Javascript,Arrays,D3.js,我有以下代码: d3.csv("static/data/river.csv", function(data) { var latlongs = data.map(function(d) { return [d.Lat,d.Lng]; }) var lineArray1 = latlongs; console.log(lineArray1); 我得到一个输出lineArray1,看起来像[Array(2)、Array(2)、Array(2)…]等等

我有以下代码:

d3.csv("static/data/river.csv", function(data) {
        var latlongs = data.map(function(d) { return [d.Lat,d.Lng]; })
        var lineArray1 = latlongs;
        console.log(lineArray1);
我得到一个输出lineArray1,看起来像[Array(2)、Array(2)、Array(2)…]等等。但当我查看实际数组(2)时,它们看起来像:

["-35.48642101", "144.8891555"]  
["-35.48695061", "144.8893026"]  
["-35.48704283", "144.889315"]
有没有办法在一开始就去掉双引号?我尝试了lineArray1.map(Number),但出于某种原因,这只是生成了一个NaN数组。我想要的输出是:

[-35.48642101, 144.8891555]  
[-35.48695061, 144.8893026]  
[-35.48704283, 144.889315]

谢谢

看起来
d.Lat
d.Lng
都是字符串,因此如果您想将它们转换为数字,请对它们调用
Number

var latlongs = data.map(function(d) { return [Number(d.Lat), Number(d.Lng)]; });
或者,要不重复编号两次,请在以下内容中再次使用
.map

var latlongs = data.map(function(d) { return [d.Lat, d.Lng].map(Number); });
或者,在现代JS中:

const latlongs = data.map(({ Lat, Lng }) => [Lat, Lng].map(Number));
您的
lineArray1.map(Number)
不起作用,因为
lineArray1
包含数组(数字),而不仅仅是数字,对数组调用
Number
也不起作用