我想知道是否有办法 提取/搜索 包含来自javascript对象的类似property
的元素。
更具体地说,如果我有以下object
:
现场演示: http://jsfiddle.net/oscarj24/sMWUL/
var enrolled = {};
enrolled['enrolled/ruby/S1234'] = {
course: {
id: 'P01',
desc: 'Ruby course'
},
student: {
id: 'S1234',
name: 'John Doe'
}
};
enrolled['enrolled/php/S1234'] = {
course: {
id: 'P02',
desc: 'PHP course'
},
student: {
id: 'S1234',
name: 'Foo Bar'
}
};
enrolled['enrolled/java/S6666'] = {
course: {
id: 'P03',
desc: 'Java course'
},
student: {
id: 'S6666',
name: 'Bill Gates'
}
};
然后我会在enrolled
对象中有一些类似的 属性 (就像那些共享 S1234 的对象一样 string
最后)。
如何在 属性 中提取string
相似或重合的元素?
我看起来javascript对象非常有限,我唯一能做的就是检查属性是否存在:obj.hasOwnProperty(prop)
(但这不是我要找的)< / em>的。有没有办法使用regex
检查这个? (只是说,似乎不可能)。
要知道,我正在使用ExtJS 4.2
,但我找不到能够在API
文档中找到我需要的东西(如果错误,请纠正我)。< / p>
答案 0 :(得分:1)
你可以在每个循环中使用a来查看你在搜索的内容是否在字符串中。
for (key in enrolled)
{
if(key.indexOf('S1234') > -1)
{
console.log(key);
//Perform your actions here
}
}
答案 1 :(得分:0)
怎么样?
for(var prop in enrolled){
console.log(prop);
//check if prop matches string regex.
}