简体   繁体   English

JavaScript - 如果 object 属性具有特定值,则创建一个 object 键数组

[英]JavaScript - Create an array of object keys if the object property has certain value

Given an object with children objects:给定一个带有子对象的 object:

   {
        a: {
           name  : 'John'
         , isRequired : true
      }
      , b: {
           name  : 'Jack'
         , isRequired : false
      }
      , c: {
           name  : 'Mary'
         , isRequired : true
      }
      , d: {
           name  : 'Victor'
         , isRequired : false
      }
   };

Generate an array with the keys of the objects where isRequired is true :使用isRequiredtrue的对象的键生成一个数组:

['a', 'c']

One way to do this is:一种方法是:

 const data = { a: { name: 'John', isRequired: true }, b: { name: 'Jack', isRequired: false }, c: { name: 'Mary', isRequired: true }, d: { name: 'Victor', isRequired: false } }; let required = []; for (const [key, val] of Object.entries(data)) { if (val.isRequired) { required.push(key); } } console.log(required);

Any better alternative?有更好的选择吗?

I would use filter我会使用过滤器

 const data = { a: { name: 'John', isRequired: true }, b: { name: 'Jack', isRequired: false }, c: { name: 'Mary', isRequired: true }, d: { name: 'Victor', isRequired: false } }; let required = Object.keys(data).filter(key => data[key].isRequired) console.log(required);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如果Object属性具有某些定界符,如何分割JavaScript数组元素 - How to Split JavaScript Array Elements if an Object property has certain delimitter 如何将对象键分配给相同的属性并创建具有名称和值对的对象数组 - how to assign Object keys to a same property and create an array of objects with name and value pair-Javascript 如何为Javascript对象中的属性设置值,该属性由键数组标识 - How to set value to a property in a Javascript object, which is identified by an array of keys JavaScript获得对象数组的值或属性(如果对象具有该属性) - JavaScript get value or property of an Array of objects if object has that property 在 JavaScript 中检查数组是否包含具有特定属性值的对象? - Check if an array contains an object with a certain property value in JavaScript? 如何在具有对象的React App中循环遍历javascript数组并获得具有特定值的属性的计数 - How do I loop through a javascript Array in a React App that has object and get a count on a property that has a certain value Javascript / InDesign:检查对象是否具有某些属性 - Javascript/InDesign: Check if Object has certain property 如何检查javascript对象是否具有某个属性 - How to check if a javascript object has a certain property 如果 object 集有一个 object 属性创建一个数组 - If object set has an object property create an array 具有对象数组的Javascript; 对象中的属性具有值,返回未定义 - Javascript with Array of Objects; Property in Object has Value, returns Undefined
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM