gpt4 book ai didi

javascript - onchange 事件期间的 UnderScore 动态过滤器

转载 作者:行者123 更新时间:2023-11-28 02:35:38 25 4
gpt4 key购买 nike

onchange 事件期间尝试通过传递参数来过滤对象时,结果得到一个空数组。

虽然尝试对这些键和值进行硬编码,但它会返回一个对象并且工作正常,在这种情况下,它总是会返回一个以 Ram 作为值的数组

var empDetails = [{
name: "Raju",
id: 123
},
{
name: "Ram",
id: 456
}, {
name: "Anand",
id: 789
}, {
name: "Venkat",
id: 987
}
];
function onFilter(columnName) {
var columnValue = document.getElementById(columnName).value;
empDetails = _.filter(empDetails, {
"name": "Ram"
});
console.log(empDetails);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore.js"></script>
<input class="form-control input-sm" id="name" type="text" onchange="onFilter('name')">

但在下面的例子中,它返回一个空数组

var empDetails = [{
name: "Raju",
id: 123
},
{
name: "Ram",
id: 456
}, {
name: "Anand",
id: 789
}, {
name: "Venkat",
id: 987
}
];
function onFilter(columnName) {
console.log(columnName);
var columnValue = document.getElementById(columnName).value;
console.log(columnValue);
empDetails = _.filter(empDetails, {
columnName: columnValue
});
console.log(empDetails);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore.js"></script>
<input class="form-control input-sm" id="name" type="text" onchange="onFilter('name')">

最佳答案

您过滤键 "columnName" 而不是 "name",如您所料。

此解决方案适合您,但没有 underscore.js

var empDetails = [{
name: "Raju",
id: 123
}, {
name: "Ram",
id: 456
}, {
name: "Anand",
id: 789
}, {
name: "Venkat",
id: 987
}
];
function onFilter(columnName) {
console.log(columnName);
var columnValue = document.getElementById(columnName).value;
console.log(columnValue);
var filteredEmpDetails = empDetails.filter(function (el) {
return el[columnName] === columnValue;
});
console.log(filteredEmpDetails);
}
<input class="form-control input-sm" id="name" type="text" onchange="onFilter('name')">

并且您可能应该使用内部变量 filteredEmpDetails 以便能够多次使用 onFilter 函数。

关于javascript - onchange 事件期间的 UnderScore 动态过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47609242/

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