微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何遍历JS中的哈希并返回所有匹配的结果?

如何解决如何遍历JS中的哈希并返回所有匹配的结果?

| 我在函数中包含以下JS代码,该函数响应用户按下Enter键(未显示)。我关注的部分代码如下所示:
       $.each(cityhash,function(key,value){
            if(value[\'city\']== user_input) {
                $(\'#city\').empty().append(value[\'city\']);
                $(\'#state\').empty().append(value[\'city\']);
            }
我有以下哈希值:
cityhash =  [{\"address\":\"07288 Albertha Station\",\"city\":\"Littelside\",\"state\":\"Missouri\"},{\"address\":\"0615 Mervin Rapid\",\"city\":\"Tessmouth\",\"state\":\"South Carolina\"},{\"address\":\"779 Elody Lock\",\"state\":\"New Mexico\"}]
如您所见,Littelside市在哈希中出现了两次。我的问题是上面的$ .each函数,仅显示2个Littleside中的1个。我想显示哈希中的所有匹配项,而不仅仅是1个匹配项。 如何纠正我的代码以返回所有匹配的城市,而不仅仅是显示一个城市? 先感谢您     

解决方法

        您需要摆脱Empty()调用。您正在每次比赛中清除#city /#state。
$(\'#city\').append(value[\'city\']);
$(\'#state\').append(value[\'state\']);
另外,您可能希望将州名而不是城市名附加到#state元素上     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。