从JavaScript对象获取值,如果属性的前8位与参数匹配?
这里我需要从JavaScript对象获取一个值,如果属性的前8位与参数匹配 这是我尝试过的从JavaScript对象获取值,如果属性的前8位与参数匹配?,javascript,object,Javascript,Object,这里我需要从JavaScript对象获取一个值,如果属性的前8位与参数匹配 这是我尝试过的 var input = { 4546546512349: {}, 7200000000007: {}, 9399543200000: {} } function find_key(query){ $.each(input, function(k, v) { if (k.substring(0,8) == query){ console.log(k); return k
var input = { 4546546512349: {}, 7200000000007: {}, 9399543200000: {} }
function find_key(query){
$.each(input, function(k, v) {
if (k.substring(0,8) == query){
console.log(k);
return k
}
});
}
find_key(45465465);
有什么最好的解决办法吗。提前感谢。一个带有的解决方案。它返回一个包含匹配键的数组
函数findKeyquery{
返回Object.KeyInput.filterfunction k{
返回k.substring0,8==query;
};
}
变量输入={4546546512349:{},7200000000007:{},9399543200000:{}
文件。书写 您的代码已经可以工作了,但是如果您正在寻找更简洁的解决方案,那么 做了一个根本性的改变 将输入作为参数传递,以使其更可重用
适合我--您在页面中包含jquery了吗?当然,如果您想返回值而不是键,则需要使用return v。您应该解释什么不适合您。问题是console.logk;不会显示您正在查找的密钥,或者您是否有问题返回k不会从find_密钥返回内容?@Rhumbo从回调返回在这里没有多大意义,因为它不会有任何效果,除非它是false。可能重复@dear Downvorters-我如何提高此答案的质量?
function find_key(input,query)
{
return input[Object.keys(input).filter( function(value){ if (value.indexOf( "45465465" ) == 0) {return value;}})[0]];
}
var input = { 4546546512349: {}, 7200000000007: {}, 9399543200000: {} };
find_key(input,45465465);