Javascript 使用名称筛选器计算对象属性的数量
我有一个对象,看起来像:Javascript 使用名称筛选器计算对象属性的数量,javascript,properties,count,key,Javascript,Properties,Count,Key,我有一个对象,看起来像: {a: 1, b:2, c:3, cp1:6, cp2:7 cp3:8, cp4:9} 我对对象中的cpX出现次数感兴趣,Javascript(或jQuery)中是否有一种简单的方法来计算与模式匹配的出现次数。比如: Object.keys(myObj,/cp\d+/).length(); 我知道我可以自己对它进行迭代,但如果这个功能已经存在,我也不会感到惊讶。这可能就可以了 var obj={a: 1, b:2, c:3, cp1:6, cp2:7 cp3:8,
{a: 1, b:2, c:3, cp1:6, cp2:7 cp3:8, cp4:9}
我对对象中的cpX出现次数感兴趣,Javascript(或jQuery)中是否有一种简单的方法来计算与模式匹配的出现次数。比如:
Object.keys(myObj,/cp\d+/).length();
我知道我可以自己对它进行迭代,但如果这个功能已经存在,我也不会感到惊讶。这可能就可以了
var obj={a: 1, b:2, c:3, cp1:6, cp2:7 cp3:8, cp4:9};
var num=0;
for (var key in obj) {
if (/^cp/.test(key)) {
++num;
}
}
alert(num);
您可能可以使用“地图”来完成,但我不确定是否有本机的功能
var obj={a: 1, b:2, c:3, cp1:6, cp2:7 cp3:8, cp4:9};
var num=0;
for (var key in obj) {
if (/^cp/.test(key)) {
++num;
}
}
alert(num);
您可能可以使用映射来实现,但我不确定是否有本地功能用于此纯javascript中没有特殊功能。。。对象和数组太差了 您可以为此目的使用 代码如下:
$(function(){
var a = {a: 1, b:2, c:3, cp1:6, cp2:7, cp3:8, cp4:9};
var result = _(a).chain().keys().select(function(key){ return key.match(/^cp/);}).value().length;
$('#results').html(result);
});
试试看。纯javascript中没有特殊功能。。。对象和数组太差了 您可以为此目的使用 代码如下:
$(function(){
var a = {a: 1, b:2, c:3, cp1:6, cp2:7, cp3:8, cp4:9};
var result = _(a).chain().keys().select(function(key){ return key.match(/^cp/);}).value().length;
$('#results').html(result);
});
试试看。Object.keys()不支持筛选数组项。但是您可以使用jQuery的grep()
函数来过滤密钥
这一个有效:
var x = {a: 1, b:2, c:3, cp1:6, cp2:7, cp3:8, cp4:9};
var cpItemsLength = $.grep(Object.keys(x), function(n) {
return /cp\d+/.test(n);
}).length;
Object.keys()
不支持筛选数组项。但是您可以使用jQuery的grep()
函数来过滤密钥
这一个有效:
var x = {a: 1, b:2, c:3, cp1:6, cp2:7, cp3:8, cp4:9};
var cpItemsLength = $.grep(Object.keys(x), function(n) {
return /cp\d+/.test(n);
}).length;
@drjerry没有要求使用迭代来完成。如果没有本机功能,使用迭代是最简单的方法@Jerry博士没有规定迭代,但也没有禁止它。暗示的优惠被给予了,但什么也没有specific@drjerry没有要求使用迭代。如果没有本机功能,使用迭代是最简单的方法@Jerry博士没有规定迭代,但也没有禁止它。虽然给出了一个隐含的首选项,但没有给出任何具体信息。感谢我将要研究的下划线_lib链接,但是我有点不愿意包含另一个javascript库。所以我将继续使用jQuery的grep。只有3Kb的代码。但是功能是很好的。我总是使用这个库来模板化和处理对象和数组。感谢我将要研究的下划线库链接,但是我有点不愿意包含另一个javascript库。所以我将继续使用jQuery的grep。只有3Kb的代码。但是功能是很好的。我总是使用这个库来模板化和处理对象和数组。这个答案实际上并不正确在这里,您可以看到所有支持此功能的浏览器列表。如果对你来说没问题,就用它,但这种方式对我来说不合适:)这个答案实际上是不对的在这里,您可以看到所有支持此功能的浏览器列表。如果对你来说没问题,就用它,但这种方式对我来说不合适:)