检查数组是否不包含空对象并匹配数组长度

问题描述

我正在尝试检查array 1的长度是否与array 2的长度匹配,并且array 1不包含空对象

我的尝试

const matrixValues = _.size(array1,Object.keys(array1.map(item => item)).length !== 0) === array2.length

array2: [{'somevalue': '1'},{'somethingelse: '2'},{'somethingmore': '3'}]

array1: [ {'somevalue': '1'},{'somethingelse': '2'},{} ] array1的长度为3,但其中包含一个空对象,因此我们应返回false,该空对象检查也不应依赖于元素的索引

解决方法

比较两个数组的长度,对于第一个数组,请使用Array#every查看每个对象是否存在至少一个属性(因此它不为空)。

扩展:如果我在第一个数组(例如array3)中删除所有空对象,都可以使用Array#filter完成相同的测试。

FROM confluentinc/cp-kafka:latest

ENV JOLOKIA_VERSION 1.3.5
ENV JOLOKIA_HOME /usr/jolokia-${JOLOKIA_VERSION}
RUN curl -sL --retry 3 \
  "https://github.com/rhuss/jolokia/releases/download/v${JOLOKIA_VERSION}/jolokia-${JOLOKIA_VERSION}-bin.tar.gz" \
  | gunzip \
  | tar -x -C /usr/ \
 && ln -s $JOLOKIA_HOME /usr/jolokia \
 && rm -rf $JOLOKIA_HOME/client \
 && rm -rf $JOLOKIA_HOME/reference