如何在javascript中找到对象是否包含数组?

时间:2016-10-31 19:23:47

标签: javascript

我有一大堆数据,基本上是一个对象数组。我需要遍历所有对象,看看是否有任何数组本身。

想法?

2 个答案:

答案 0 :(得分:2)

试试这个:

for (var i = 0; i < arr.length; i++) {
    var obj = arr[i];

    for (var j in obj) {
        if (!obj.hasOwnProperty(j)) {
            continue;
        }

        if (obj[j] instanceof Array) {
            console.log(i + '.' + j + ' is array');
        }
    }
}

答案 1 :(得分:1)

您可以使用filter仅抓取与条件匹配的对象,然后检查是否有任何值是some的数组。

示例:

var arr = [
  { x: 1 },
  { x: 2, a: [] },
  { x: 3, a: [] },
  { x: 1 },
];

arr.filter(a => Object.values(a).some(o => o instanceof Array))