嗯,我在ES6中有一个场景,我使用vuejs作为当前模块。检查对象值是否等于字符串值
我需要检查数组对象中是否存在字符串值。
let obj1 = [{name: "abc ced", id: 1},
{name: "holla' name", id: 2},
{name: "3' name", id: 3}]
let obj2 = { key: "3' name" , key1: 2 }
我需要为obj1获取对象,其中obj2的名称属性值存在于obj1中。这样做就像
_.each(obj1, function(obj){
for (var k in obj) {
if (!obj.hasOwnProperty(k)) continue
if (obj[k] === obj2.key) {
console.log(obj)
}
}
})
我错过了什么吗?因为控制台从不记录任何值。
注:
我使用loadash,并试图用找过
let result = _.find(obj1 , {name: obj2.key})
console.log(result)
它会工作,如果将尝试使用
let result = _.find(obj1 , {id: obj2.key1})
console.log(result)
所以对于它的工作原理整数比赛很好,但对于字符串没有控制台。
但看起来什么都没有。然后我尝试了上面给出的其他解决方案
注意:一切工作正常,只有我缺少的是我没有检查字符串大小写,因为有一些大写和大写的问题。所以隐蔽可比字符串小写和大写,所以你不,至少使这些愚蠢的错误
欢呼
你所检查的'obj1.key'。应该是'obj2.key' –
可以请你清楚一件事,你想检查obj1中的某个特定的密钥,比如'name',还是只想找到与obj1中存在的任何密钥匹配? – RaghavGarg
@RaghavGarg我想检查是否在obj1中,有任何名称等于obj2.key的对象。所以它是obj1 –