Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.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 - Fatal编程技术网

Javascript 如何将一个数组创建到另一个数组中?

Javascript 如何将一个数组创建到另一个数组中?,javascript,Javascript,我有以下JavaScript数组: var jsonArray = { 'homes' : [ { "home_id":"203", "price":"925", "sqft":"1100", "num_of_beds":"2", "num_of_baths":"2.0", }, { "home_id":"59", "price":"1425",

我有以下JavaScript
数组

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) ...     
]}
我想将其转换为以下类型的
数组
(伪代码):

我该怎么做


请注意,
newArray
仅具有来自大的
jsonArray
数组的
home\u id

只需创建一个新数组并在中复制旧值即可

var ids = [];
for (var i = 0; i < jsonArray.homes.length; i++) {
    ids[i] = jsonArray.homes[i].home_id;
}
varids=[];
对于(var i=0;i
只需创建一个新数组并将旧值复制到中即可

var ids = [];
for (var i = 0; i < jsonArray.homes.length; i++) {
    ids[i] = jsonArray.homes[i].home_id;
}
varids=[];
对于(var i=0;i
这里有一种迭代方法:

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\u id=jsonArray.homes.map(函数(记录){return record.home\u id})

这里有一种迭代方法:

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\u id=jsonArray.homes.map(函数(记录){return record.home\u id})

同样,jsonArray不是数组而是对象,但是jsonArray.homes是

var arr = [];
for (var i=0, len = jsonArray.homes.length; i < len; i++){
    arr.push(jsonArray.homes[i].home_id);
}  
var arr=[];
for(var i=0,len=jsonArray.homes.length;i
同样,jsonArray不是数组而是对象,但是jsonArray.homes是

var arr = [];
for (var i=0, len = jsonArray.homes.length; i < len; i++){
    arr.push(jsonArray.homes[i].home_id);
}  
var arr=[];
for(var i=0,len=jsonArray.homes.length;i
+1我在看这篇文章,想知道我以前是如何在c#linq:)之前做的+1我在看这篇文章,想知道我以前是如何在c#linq:)之前做的,你不应该在
中为..使用
来迭代数组,但是如果你想,您至少需要检查
hasOwnProperty
您不应该使用
for..in
来迭代数组,但是如果您要这样做,您至少需要检查
hasOwnProperty
jsonArray不是数组,它是一个对象-jsonArray.homes是一个。jsonArray不是数组,它是一个对象-jsonArray.homes是一个。