我找到了两种不同的方法来查找输入到表单中的数据,但不确定使用哪一种。我将使用一个相当大的表格,所以性能很重要。第一个选项使用.serializeArray(),第二个选项使用.find().val()
选项1:
var values = {};
$.each($growDetailsForm.serializeArray(), function (i, field) {
values[field.name] = field.value;
});
var getValue = function (valueName) {
return values[valueName];
};
var first = getValue("first-name");
var first = getValue("last-name");
...
选项 2:
var $form = $('form');
var $first = $form.find('.first-name').val();
var $last = $form.find('.last-name').val();
...
有谁知道哪个选项更快?我假设选项 1 更快,因为我相信它会一次获取所有值并将它们放入一个数组中,从而为您提供一个更小的对象来搜索。选项 2 每次查找某个值时都会搜索整个 DOM,这让我觉得它比较慢。但是我不是专家,所以我不是很自信。如果我只搜索两个值,它可能不会有太大的不同,但我会搜索更多。任何见解都值得赞赏。