gpt4 book ai didi

javascript - 如何获取输入字段的值并使用它来过滤数组?

转载 作者:行者123 更新时间:2023-12-03 10:51:04 28 4
gpt4 key购买 nike

我是 JavaScript 新手。我希望输入字段中输入的值用于评估从数组中过滤出的内容:“e”。我不明白我做错了什么。我尝试了很多不同的事情,所以我想我只是犯了一些语法错误?请帮助我。

html:

<div id="main_container">
<div id="content_container">
<form id="form">
<input id="input"></input>
<button id="button">button</button>
</form>
</div>
</div>

js:

function Employee (name, salary, gender) {
this.name = name;
this.salary = salary;
this.gender = gender;
}

var e = [

Matt = new Employee("Matt", 100, "Male"),
Alex = new Employee("Alex", 200, "Male"),
Zack = new Employee("Zack", 300, "Male"),
Mark = new Employee("Mark", 400, "Male"),
Rick = new Employee("Rick", 500, "Male"),

];


$('#button').on('click', function () {
e.filter(function (e) {
return e.salary >= $('#input').val();
}).map (function (e) {
return e.name;
console.log("asdf");
});
});

最佳答案

问题是因为您没有比较相同类型的值,因此需要将输入的 val() 解析为整数。之后,您实际上并没有对 map() 的结果执行任何操作,并且处理程序中的 console.log 永远不会像 return 语句之后那样命中。试试这个:

$('#form').on('submit', function (event) {
event.preventDefault();
var filterVal = parseInt($('#input').val(), 10);
var filtered = employees.filter(function (e) {
return e.salary >= filterVal;
}).map(function (e) {
return e.name;
});
console.log(filtered);
});

Example fiddle

另请注意,我将事件更改为在表单提交下运行。

关于javascript - 如何获取输入字段的值并使用它来过滤数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28417576/

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