将数组中的值存储到另一个数组中

时间:2013-01-15 12:33:17

标签: jquery arrays

我有一个数组如下:

var localproducts = [packageId, categoryId, dataId];

我想通过每个函数遍历这个数组,并将所有dataIds存储到具有特定packageID的所有项目的另一个新数组中,即如果pacakgeId是3,那么我想将dataId存储到新数组中。谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

根据我的理解,你有一个对象数组,所以你需要保持属性packageId等于3的对象。你应该看一下array_filter

代码基本上如下所示:

function filter($var) {
  return $var->packageId == 3;
}

$filtered_values = array_filter($localProducts, filter);

您可以对数组或数组执行相同操作,只需更改过滤器函数,如下所示:

function filter($var) {
  return $var['packageId'] == 3;
}

现在,如果您想创建一个只包含值dataId的新数组,则应使用简单的foreach来完成。

var $dataIds = array();

foreach($localProducts as $prod) {
  if($prod->packageId == 3) {
    $dataIds[] = $prod->dataId;
  }
}
相关问题