繁体   English   中英

从 Object.keys 获取返回值

[英]Get return Value from Object.keys

我有一个搜索对象的函数,以查看其中是否存在值,但是当我尝试记录它时无法从中获取值。

searchValue(object,value){
    let valueExists = Object.keys(object).find(key => object[key].valueID === value );
    console.log(valueExists);   
}

你可以使用Object(o).values像:

let valueExists = Object.values(object).find(val => val === value )
console.log(valueExists)  

JS 示例:

 function searchValue(object, value) { let valueExists = Object.values(object).find(val => val == value) console.log(valueExists) } let user = { id: 12, name: "aaa", email: "aaaa@domain.com", } searchValue(user, "aaa")

如果您已经拥有值(作为searchValue参数),则不需要“获取”值,因为您已经拥有它(下面我简化了您的实现)

 function searchValue(object, value) { return Object.values(object).includes(value); } let obj = {a: "xx", b: "yy"}; let val = "yy" if(searchValue(obj,val)) { console.log("the object value exist and is:", val); }

如果您有兴趣查找与值关联的键,请尝试此操作

 function searchKeys(object, value) { return Object.keys(object).filter(k=>object[k]==value); } let obj = {a: "xx", b: "yy", c:"xx"}; let val = "xx" console.log("Keys contains 'xx' value:", searchKeys(obj,val));

为了达到预期的结果,请使用以下使用对象条目并使用 forEach 循环获取值的选项

 function searchValue(object,value){ Object.entries(object).forEach(v => { if(v.indexOf(value) !== -1) console.log("valueExists") }); } let test = { id : 11, name: 'abc', location: 'usa' } searchValue(test, 11)

暂无
暂无

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM