gpt4 book ai didi

javascript - 检查对象值是否等于字符串值

转载 作者:行者123 更新时间:2023-11-30 11:31:42 25 4
gpt4 key购买 nike

好吧,我在 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 ,并尝试使用 find

 let result = _.find(obj1 , {name: obj2.key})
console.log(result)

它会工作,如果会尝试使用

let result = _.find(obj1 , {id: obj2.key1})
console.log(result)

因此对于整数匹配它工作正常,但对于字符串没有控制台。

但看起来什么都没有。然后我尝试了上面给出的其他解决方案

注意:一切正常,唯一缺少的是我没有检查字符串大小写,因为存在一些大写和大写问题。所以隐蔽的比较字符串为小写和大写,这样你至少不会犯这些愚蠢的错误

干杯

最佳答案

如果你想获得第一个在条件下返回 true 的对象,你可以使用 find() 否则你可以使用 filter()

let obj1 = [{name: 'abc ced', id: 'ced'},
{name: 'holla name', id: 'xyz'}]
let obj2 = { key: 'abc ced' }

var result = obj1.find(({name}) => obj2.key == name)
console.log(result)

关于javascript - 检查对象值是否等于字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46006354/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com