Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Javascript中从数组数组中提取值?_Javascript_Json - Fatal编程技术网

如何在Javascript中从数组数组中提取值?

如何在Javascript中从数组数组中提取值?,javascript,json,Javascript,Json,我有一个变量如下: var dataset = { "towns": [ ["Aladağ", "Adana", [35.4,37.5], [0]], ["Ceyhan", "Adana", [35.8,37], [0]], ["Feke", "Adana", [35.9,37.8], [0]] ] }; 变量中包含大量城镇数据。如何有效地从数据中提取第三个元素的第一个元素?一、 e,下面是什么 var myArray = ... //myArray == [3

我有一个变量如下:

var dataset = {
"towns": [
    ["Aladağ", "Adana", [35.4,37.5], [0]],
    ["Ceyhan", "Adana", [35.8,37], [0]],
    ["Feke", "Adana", [35.9,37.8], [0]]
    ]
};
变量中包含大量城镇数据。如何有效地从数据中提取第三个元素的第一个元素?一、 e,下面是什么

var myArray = ...
//myArray == [35.4,35.8,35.9] for the given data 
如果我想在数组中存储这两个值,该怎么办?就是

var myArray = ...
//myArray == [[35.4,37.5], [35.8,37], [35.9,37.8]] for the given data 

我对Javascript非常陌生。我希望有一种方法不使用for循环。

在较新的浏览器上,可以使用
map
,或
forEach
,这样可以避免使用
for
循环

var myArray = dataset.towns.map(function(town){
  return town[2];
});
// myArray == [[35.4,37.5], [35.8,37], [35.9,37.8]]
但是for循环更兼容

var myArray = [];
for(var i = 0, len = dataset.towns.length; i < len; i++){
  myArray.push(dataset.towns[i][2];
}
var myArray=[];
对于(var i=0,len=dataset.towns.length;i
没有循环是不可能的:

var myArray = [];
for (var i = 0; i < dataset.towns.length; i++) {
    myArray.push(dataset.towns[i][2][0]);
}
// at this stage myArray = [35.4, 35.8, 35.9]
var myArray=[];
对于(var i=0;i
如果我想在数组中存储这两个值,该怎么办

类似地,只需添加整个数组,而不仅仅是第一个元素:

var myArray = [];
for (var i = 0; i < dataset.towns.length; i++) {
    myArray.push(dataset.towns[i][2]);
}
// at this stage myArray = [[35.4,37.5], [35.8,37], [35.9,37.8]]
var myArray=[];
对于(var i=0;i
for循环有什么问题吗?与json的连接在哪里?@Veger没什么问题。我来自MATLAB背景。这就是我寻找非循环解决方案的原因。JavaScript中的循环并不邪恶:)见下文,有一种无循环的方法: