var container = $('#container'); var names = []; container.find('[name]').each(function() { var name = this.name; if (names.indexOf(name) === -1) { names.push(name); } }); console.log(names);怎么优化
时间: 2023-12-06 09:45:16 浏览: 23
可以使用ES6 Set数据结构来避免使用数组和indexOf方法,简化代码并提高效率。如下所示:
```
const container = $('#container');
const names = new Set();
container.find('[name]').each(function() {
names.add(this.name);
});
console.log([...names]);
```
这里使用Set数据结构,遍历每个[name]属性元素并将其名称添加到Set中。最后,使用扩展运算符将Set转换为数组,并输出结果。
相关问题
var container = $('#container'); // 指定容器 var names = container.find('[name]').map(function() { return this.name; }).get(); console.log(names); 且去重
你可以使用 Set 数据结构来实现去重,代码如下:
```
var container = $('#container');
var names = [...new Set(container.find('[name]').map(function() {
return this.name;
}).get())];
console.log(names);
```
或者使用 forEach 循环和 indexOf 方法来手动去重,代码如下:
```
var container = $('#container');
var names = [];
container.find('[name]').each(function() {
var name = this.name;
if (names.indexOf(name) === -1) {
names.push(name);
}
});
console.log(names);
```
var btn_save = function() { var year = $("#year option:selected").val(); var term = $("#term option:selected").val(); var id = $("#id").val(); var name = $("#name").val(); var sex = $("#sex option:selected").val(); var team = $("#team").val(); var awardName = $("#awardName").val(); var awardLevel = $("#awardLevel option:selected").val(); var grade = $("#grade").val(); $.ajax({ type: "post", url: "/useradd", data: { year: year, term: term, id: id, name: name,sex:sex,team:team,awardName:awardName,awardLevel:awardLevel,grade:grade }, success: function(data) { if(data > 0) { $.jq_Alert({ message: "添加成功", btnOktext: "确认", dialogModal: true, btnOkClick: function() { //$("#RawMaterialsTypeName").val(""); //$("#RawMaterialsTypeDescription").val("");' //$("#Ramark").val(""); //page1(); location.reload(); } }); } } }); alert(); }
这段代码是一个 JavaScript 函数,用于提交表单数据到服务器进行添加操作。其中使用了 jQuery 的 ajax 方法发送 POST 请求,请求的 URL 是 "/useradd",请求的数据包括了年份、学期、学号、姓名、性别、团队、奖项名称、奖项级别和成绩。如果添加成功,会弹出一个提示框,提示添加成功,并在用户点击确认后重新加载页面。最后还会调用 alert() 方法弹出一个空提示框。