Kat*_*son 1 javascript arrays object typescript ecmascript-6
我有一个看起来像这样的对象:
objectProp = {
property1: [],
property2: [],
}
Run Code Online (Sandbox Code Playgroud)
我想检查所有属性(即字符串数组)是否为空并返回 true。我因为某种原因被卡住了。我怎样才能做到这一点?我正在使用“目标”:“es2015”
我试过这个但不起作用:
if (!Object.keys(this.objectProp).every(array => array.length > 0)) {
console.log('all are empety');
}
Run Code Online (Sandbox Code Playgroud)
你需要使用Object.values(this.objectProp)而不是Object.keys(this.objectProp)为了这个工作。作为Object.keys方法返回给定对象自己的可枚举属性名称Object.values的数组,方法返回给定对象自己的可枚举属性值的数组,这实际上是您要查找的。
let objectProp = {
property1: [],
property2: [],
}
console.log(Object.keys(objectProp))
console.log(Object.values(objectProp))Run Code Online (Sandbox Code Playgroud)
对于 Es2015,你可以试试这个:
let obj = {
property1: [],
property2: [],
}
// Log is print only when all arrays are empty
if (Object.keys(obj).map(e => obj[e]).every(a => a.length === 0)) {
console.log('all are empty');
}Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
597 次 |
| 最近记录: |