从 JavaScript 中的 JSON 中提取具有特定名称的元素
Extract elements with specific names from JSON in JavaScript
我是 JavaScript 的新手,所以请原谅我对基础知识和正确词汇的无知。
我有一个对象列表,所有对象都包含特定的信息/变量/元素(纬度和经度),我希望这些信息/变量/元素位于单独的数组中。
var data = [{
"0": "44",
"latitude": "44",
"1": "11",
"longitude": "11"
}, {
"0": "45",
"latitude": "45",
"1": "12",
"longitude": "12"
}, {
"0": "46",
"latitude": "46",
"1": "13",
"longitude": "13"
}, {
"0": "47",
"latitude": "47",
"1": "14",
"longitude": "14"
}];
我已经知道我可以轻松访问特定值:
data[1].latitude
data[1].longitude
但是我如何将它们放在一起才能得到这样的东西呢?
var latitude = [44, 45, 46, 47]
var longitude = [11, 12, 13, 14]
您可以遍历data
数组的元素,并将所需的值添加到将保存结果的其他数组中:
var latitudes = [];
var longitudes = [];
for (var i = 0; i < data.length; i++) {
latitudes.push(data[i].latitude);
longitudes.push(data[i].longitude);
}
// at this stage the latitudes and longitudes arrays
// will contain the desired values
同样在data
数组中,纬度和经度是字符串,而在预期的数组中,您需要整数。因此,您可能需要使用 parseInt
函数解析值,然后再将它们添加到生成的数组中。
latitudes.push(parseInt(data[i].latitude, 10));
longitudes.push(parseInt(data[i].longitude, 10));
或者使用 parseFloat
函数,如果这些字符串可以表示十进制数(这对于纬度和经度更现实)。
与@Darin Dimitrov非常相似,但使用数组的.map()
Array.prototype.map()
创建一个新数组,其中包含调用提供的函数的结果 此数组中的每个元素。
更新:应该是这样的
var lat = data.map( function(item) {
return item.latitude;
});
var lon = data.map( function(item) {
return item.longitude;
});
JSFiddle
相关文章:
- 基本D3.js:如何将具有其他属性的数据绑定到元素
- 在何处和何时添加具有数据绑定的元素
- 将对象的方法绑定到元素的事件
- 隔离作用域+绑定名称和仅在AngularJS中的隔离作用域之间的差异
- 需要将内部函数绑定到元素的单击事件
- 如何将新函数绑定到元素的 onclick 事件,并使其在所有其他绑定函数之前运行
- js 语法传递名称元素表单验证
- 使用子元素的 id 绑定父元素的单击事件
- 如何使用 jquery 动态地将事件绑定到元素
- 如何使用相同的名称元素制作Ajax表单帖子
- 使用自定义绑定更新元素文本
- 角度指令绑定到元素的高度
- 将 AngularJS 指令绑定到元素
- 如何通过绑定名称加载类受限的 Angular 指令
- 如何使用敲除绑定新元素
- 如何将函数不引人注目地绑定到元素's使用AJAX创建元素时单击
- knocket如何更改绑定到元素的模型
- 如何使用angular.js绑定title元素中的数据
- 如何将事件绑定到元素
- 如何在不将jQuery事件绑定到元素的情况下使用它