Javascript 查找包含给定字符串的对象属性

Javascript 查找包含给定字符串的对象属性,javascript,object,properties,Javascript,Object,Properties,我知道,如果我知道某个对象的名称,我可以遍历该对象并找到给定的属性。如果我想找到object.foo,我可以使用object['foo'] 假设我无法控制数据的结构方式,大约有100个属性,我只需要提取以字符串“ninja”开头的所有属性,但我不知道这些属性的全名。object.ninjaSword、object.ninjaStar、object.ninjaFavoriteFood等 如何提取以“忍者”开头的属性?提前感谢,如果我在搜索过程中错过了答案,我会提前道歉/ 您需要遍历所有属性,并筛选

我知道,如果我知道某个对象的名称,我可以遍历该对象并找到给定的属性。如果我想找到object.foo,我可以使用object['foo']

假设我无法控制数据的结构方式,大约有100个属性,我只需要提取以字符串“ninja”开头的所有属性,但我不知道这些属性的全名。object.ninjaSword、object.ninjaStar、object.ninjaFavoriteFood等


如何提取以“忍者”开头的属性?提前感谢,如果我在搜索过程中错过了答案,我会提前道歉/

您需要遍历所有属性,并筛选符合您需求的属性

例如:

// iterate over all properties
for (var name in obj) {
    // check if the name starts with 'ninja'
    if (name.indexOf('ninja') === 0) {
        // found a property that starts with 'ninja', so log the property
        // name, and the respective value
        console.log(name, obj[name]);
    }
}

对象
类型还有一个名为的方法,该方法将返回对象的所有属性名的数组。然后,您可以这样做,以再次获得与您的需求匹配的所有属性。然后你可以循环这些,也可以得到属性值。

Object.keys(Object.filter(function(prop){return prop.indexOf('ninja')==0})谢谢你的快速帮助和清晰的答案!