【发布时间】:2016-06-27 01:12:24
【问题描述】:
我有一些输入(随机数 > 0),每个输入都在一个具有相同类的 div 中,所以我有这个结构:
<div class="myclass"> <!-- div #1 -->
<input name="name" class="input">
<!-- other inputs that don't take care -->
</div>
...
<div class="myclass"> <!-- div #n -->
<input name="name" class="input">
<!-- other inputs that don't take care -->
</div>
我需要检查每个输入的值是否与其他输入不匹配,所以如果我在第一个输入中将 myname 作为输入中的值 n 我不能有 @ 987654323@.
我有下一个 JQuery 代码来遍历所有 div 以提取有关每个 div 的信息。
$('.myclass').each(function() {
input = $(this).find('input[name="name"]').val();
});
然后,它通过 jQuery ajax 将所有信息(之前解析的 JSON)发送到必须重新验证输入值不相等的 PHP 脚本。
所以,问题是:检查所有 div 并知道 value 是否重复的最佳方法是什么?我考虑过在每个元素中创建一个 $.each ,我必须遍历所有元素,但我不知道它的性能。
那么 PHP 脚本呢,最好的方法是什么? 谢谢。
注意:JSON 解析数组,现在有这个结构:
{"user_info":{"app_id":0,"user_id":0},"contact":{"has_contact":0},"menu_items":[{"position":0,"name":"Nosotros","icon_id":"ic_delete_black_48dp.png","content":"nosotros"},{"position":1,"name":"Precios","icon_id":"ic_help_black_48dp.png","content":"nosotros"}]}
不要担心“user_info”和“has_contact”它们无关紧要,我所说的 name 是 menu_items[index]['name'] 值。
【问题讨论】:
-
不难测试独特性......不完全清楚,但如果它们不是独特的,目标是什么。是否所有唯一性都被提交并丢弃重复项?或者只是测试没有重复,然后才提交?
-
主要思想是当找到第一个重复项时抛出错误并停止代码。问题不在于我该怎么做,我知道怎么做,问题在于性能。谢谢。
-
性能方面,循环一次并在 hashmap 中存储/签入最快
-
Hashmap == js 对象或者关联数组,不是吗?
标签: javascript php jquery html json