2017-06-15 56 views
1

我找到一种方法来检查对象的键值是否为空或不在整个数组中,实际上我从一个长度超过1500的API接收冗长的数组,因此我不想运行映射函数或循环,因为数组也是如此冗长。有没有办法检查整个数组上的对象的键值?

这里是截图。

enter image description here

,这里是响应的一个例子是我从API

得到
[{ 
    reference: "1234", 
    address: "abcz", 
    city: "sydney", 
    conso: "", 
    date: "26/04/2017" 
    }, 
    { 
    reference: "1234", 
    address: "abcz", 
    city: "sydney", 
    conso: "", 
    date: "26/04/2017" 
    }, 
    { 
    reference: "1234", 
    address: "abcz", 
    city: "sydney", 
    conso: "", 
    date: "26/04/2017" 
    }, 
    { 
    reference: "1234", 
    address: "abcz", 
    city: "sydney", 
    conso: "", 
    date: "26/04/2017" 
    }, 
    .... 

] 
+1

您可以将结果存储到数据库中,然后执行SQL查询。 – Black

+0

你想检查什么?你能更清楚地解释它吗? – Duannx

+0

'var exists = JSON.stringify(arr).indexOf(“1234”)!= - 1;' – mplungjan

回答

0

不清楚从你的问题,你想要什么。如果你只是想看看如果阵列中的一个对象有一个空的“CONSO”属性,那么这将工作,而无需一定要通过全阵列式搜索:

const emptyConso = arr.find(place => !place.conso) 
3

你可以使用Array#some,其退出第一找。

var allEmpty = data.some(o => o[key] !== ''); 

或检查所有,然后用Array#every

var allEmpty = data.every(o => o[key] === ''); 
+1

我相信你在第一个例子中想要的是'let someHaveData = data.some(o => o [key]!=='')'。 – deceze

+0

@deceze,如果不是空的话,它有点不明显,需要一个空的或全空的检查。 –

+1

我猜如果OP想要隐藏整个列,如果没有数据存在,那么“有一些数据”检查可能是最有意义的。 – deceze

相关问题