我有以下JavaScript Array
:
var jsonArray = { 'homes' :
[
{
"home_id":"203",
"price":"925",
"sqft":"1100",
"num_of_beds":"2",
"num_of_baths":"2.0",
},
{
"home_id":"59",
"price":"1425",
"sqft":"1900",
"num_of_beds":"4",
"num_of_baths":"2.5",
},
// ... (more homes) ...
]}
我想将其转换为以下类型的Array
(伪代码):
var newArray = new Array();
newArray.push(home_id's);
我该怎么做?
请注意newArray
仅来自大home_ids
数组的jsonArray
。
答案 0 :(得分:5)
只需创建一个新数组并复制旧值。
var ids = [];
for (var i = 0; i < jsonArray.homes.length; i++) {
ids[i] = jsonArray.homes[i].home_id;
}
答案 1 :(得分:0)
同样,jsonArray不是一个数组而是一个对象,但是jsonArray.homes是
var arr = [];
for (var i=0, len = jsonArray.homes.length; i < len; i++){
arr.push(jsonArray.homes[i].home_id);
}
答案 2 :(得分:-2)
这是一种迭代方式:
function getPropertyValues (array, id) {
var result = [];
for ( var hash in array ) {
result.push( array[hash][id]);
}
return result;
}
var home_ids = getPropertyValues(jsonArray.homes, "home_id");
或者,如果你想真正快速和肮脏(并且你只针对现代的支持Javascript的引擎):
var home_ids = jsonArray.homes.map( function(record) { return record.home_id } );