Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查TypeScript对象的属性是否全部为空_Javascript_Arrays_Typescript_Object_Ecmascript 6 - Fatal编程技术网

Javascript 检查TypeScript对象的属性是否全部为空

Javascript 检查TypeScript对象的属性是否全部为空,javascript,arrays,typescript,object,ecmascript-6,Javascript,Arrays,Typescript,Object,Ecmascript 6,我有一个像这样的对象: objectProp = { property1: [], property2: [], } 我想检查这个对象的所有属性(即字符串数组)是否为null并返回true。 我因为某种原因被卡住了。我该怎么做? 我使用的是“目标”:“es2015” 我尝试过这个,但不起作用: if (!Object.keys(this.objectProp).every(array => array.length > 0)) { console.log('a

我有一个像这样的对象:

objectProp = {
  property1: [],
  property2: [],
}
我想检查这个对象的所有属性(即字符串数组)是否为null并返回true。 我因为某种原因被卡住了。我该怎么做? 我使用的是“目标”:“es2015”

我尝试过这个,但不起作用:

 if (!Object.keys(this.objectProp).every(array => array.length > 0)) {
      console.log('all are empety');
    }

您需要使用
Object.values(this.objectProp)
而不是
Object.keys(this.objectProp)
,这样才能工作。As方法返回给定对象自身可枚举属性名称的数组,方法返回给定对象自身可枚举属性值的数组,这实际上就是您要查找的

let objectProp={
房地产1:[],
物业2:[],
}
console.log(Object.keys(objectProp))

console.log(Object.values(objectProp))
您需要使用
Object.values(this.objectProp)
而不是
Object.keys(this.objectProp)
才能工作。As方法返回给定对象自身可枚举属性名称的数组,方法返回给定对象自身可枚举属性值的数组,这实际上就是您要查找的

let objectProp={
房地产1:[],
物业2:[],
}
console.log(Object.keys(objectProp))
console.log(Object.values(objectProp))
通过使用
Object.keys()
您可以按如下操作

var objectProp={
房地产1:[],
物业2:[],
}
if(Object.keys(objectProp.every)(key=>objectProp[key]&&objectProp[key].length==0)){
console.log('全部为空')
}
通过使用
Object.keys()
您可以按如下方式执行

var objectProp={
房地产1:[],
物业2:[],
}
if(Object.keys(objectProp.every)(key=>objectProp[key]&&objectProp[key].length==0)){
console.log('全部为空')

}
您应该使用
对象。值如下所示:

if (!Object.values(this.objectProp).every(({length}) => Boolean(length))) {
  console.log('all are empety');
}

您应该使用
Object.values
,如下所示:

if (!Object.values(this.objectProp).every(({length}) => Boolean(length))) {
  console.log('all are empety');
}

大多数答案似乎遗漏了关于你的逻辑的部分,只是有点错误。 他们会说空,如果只有一个项目是空的,。 这是因为逻辑是
!每隔>0次
但将此逻辑切换到
each-objectProp[key]&&objectProp[key].length>0);
}
函数allIsEmptyFixed(objectProp){

return(Object.keys(objectProp).every(key=>objectProp[key]&&objectProp[key].length大多数答案似乎遗漏了关于逻辑的部分,只是有点错误。 他们会说空,如果只有一个项目是空的,。 这是因为逻辑是
!every>0
但将此逻辑切换到
each-objectProp[key]&&objectProp[key].length>0);
}
函数allIsEmptyFixed(objectProp){


return(Object.keys(objectProp).every(key=>objectProp[key]&&objectProp[key].length这将是一个很好的解决方案,但我使用的是“target”:“es2015”您可以使用@KathrineHanson提到的简单polyfill,而不是在回答完成后将其添加到每个答案中,请编辑您的问题并将其添加到那里……这将是一个很好的解决方案,但我使用的是“目标”:“es2015”您可以使用@KathrineHanson提到的简单polyfill,而不是在回答完成后将其添加到每个答案中,请编辑您的问题并将其添加到那里……这将是一个很好的解决方案,但我使用的是“目标”:“es2015”根据您的请求更新了轻微的逻辑错误,但OP使用了相同的
!Object.value
&
>0
,这意味着如果单个值不是空的,它将打印
All is empty
,…它应该是
Object.value
&
我想您不明白我想要什么。我想检查对象的所有属性是否都是empty.不只是一个是空的,而是所有的。@Keith你是对的,它不工作,但你写它的方式我不明白。你能完整地写它吗?谢谢。这是一个很好的解决方案,但我使用的是“目标”:“es2015”根据您的请求更新了轻微的逻辑错误,但OP使用了相同的
!Object.value
&
>0
,这意味着如果单个值不是空的,它将打印
All is empty
,…它应该是
Object.value
&
我想您不明白我想要什么。我想检查对象的所有属性是否都是empty.不仅是一个空,而是所有。@Keith你说得对,它不起作用,但你写的方式我不明白。你能完整地写吗?谢谢。这是一个很好的解决方案,但我使用的是“目标”:“es2015”这是一个很好的解决方案,但我使用的是“目标”:“es2015”这回答了你的问题吗?这回答了你的问题吗?