使用javascript获取属性包含数组的对象作为值

时间:2015-11-21 12:39:52

标签: javascript

我有一个包含这样的对象的数组:

var lists = [{
  "id": 1,
  "status": 1,
  "inputs": [],
  "outputs": [
    ""
  ]
}, {
  "id": "",
  "status": 1,
  "inputs": [
    "test",
    ""
  ],
  "outputs": [
    ""
  ]
}, {
  "id": "",
  "status": 1,
  "inputs": [
    "",
    "test1"
  ],
  "outputs": [
    ""
  ]
}, {
  "id": "",
  "status": 1,
  "inputs": [
    "gfg",
    ""
  ],
  "outputs": [
    ""
  ]
}];

从这个数组中我想得到inputs属性至少包含一个元素的所有对象。 我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

你几乎拥有它:

function getObjects(lists) {
  return lists.filter(function (el) {
    return el.inputs.length;
  });
}

var arr = getObjects(lists);

DEMO

答案 1 :(得分:0)

您只需要过滤数组并仅返回输入数组长度大于零的项目。例如,它可以像这样实现

var x=lists.filter(function(x){return x.inputs.length>=1});

现在x是仅包含其输入数组不为空的objcets的数组。