gpt4 book ai didi

javascript - 在 underscore.js 中通过对象键查找

转载 作者:可可西里 更新时间:2023-11-01 02:16:55 31 4
gpt4 key购买 nike

我有以下对象

{ join: {} }

我想从下面的数组中找到它的默认对象

[
{ login: { label: 'Login', url: '#login' } },
{ join: { label: 'Join', url: '#join', theme: 'a' } },
{ home: { label: 'none', icon: 'home', url: '#', theme: 'a' } }
]

我想遍历数组并匹配键,在本例中为 'join'

这是我目前所拥有的:

 var butt_to_find = { join: {} }
var all_buttons = 'array above'
var matching = _.find(all_buttons, function(default_button){
return if default_butt key @ 1 is the same as butt_to_find key @ 1;
});

这是我听到这么多有关下划线的信息后第一次使用它。任何帮助,非常欢迎

最佳答案

var buttons = [
{ login: { label: 'Login', url: '#login' } },
{ join: { label: 'Join', url: '#join', theme: 'a' } },
{ home: { label: 'none', icon: 'home', url: '#', theme: 'a' } }
]

_.find(buttons, function (button) { return 'join' in button })

问题在于您使用的是次优数据结构。这会更有意义,并生成更简单的代码:

var buttons = {
login: {label: 'Login', url: '#login'},
join: {label: 'Join', url: '#join', theme: 'a'},
home: {label: 'none', icon: 'home', url: '#', theme: 'a'}
}

buttons.join // equivalent to the `_.find` line in the first example (but much simpler)

也许您正在使用数组,因为按钮的顺序很重要。在这种情况下,我会使用一个数组数组:

var buttons = [
['login', {label: 'Login', url: '#login'}],
['join', {label: 'Join', url: '#join', theme: 'a'}],
['home', {label: 'none', icon: 'home', url: '#', theme: 'a'}]
]

_.find(buttons, function (button) { return button[0] === 'join' })

关于javascript - 在 underscore.js 中通过对象键查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8252550/

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