javascript - 未捕获的类型错误:arr.filter 不是函数
问题描述
我在控制台中打印了arr值,它们就像
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
但是当这个函数给出错误时,我没有在arr中得到任何值
未捕获的类型错误:arr.filter 不是函数
我是 java-script 的新手,我不知道这个错误是什么
function filter(arr, criteria) {
return arr.filter(function (obj) {
return Object.keys(criteria).every(function (c) {
return obj[c] == criteria[c];
});
});
}
解决方案
似乎您发送给过滤器函数的 arr 不是数组,这就是错误说 arr.filter 不是函数的原因。
刚刚尝试过,它可以工作,所以你的功能似乎没问题:
function filter(arr, criteria) {
return arr.filter(function (obj) {
return Object.keys(criteria).every(function (c) {
return obj[c] == criteria[c];
});
});
}
const arr = [
{
name: "David",
age: 54
},
{
name: "Andrew",
age: 32
},
{
name: "Mike",
age: 54
}
];
const myFilter = {"age": 54};
const result = filter(arr, myFilter);
console.log(result);
推荐阅读
- java - 直到显示 recyclerView 才会出现进度条
- c++ - 如何使用“使用命名空间”在命名空间中定义变量?
- node.js - Docker extra_hosts 未指向本地主机服务器
- c# - 为什么 CLR 为每个方法分配一个包含一个条目的内部结构
- python - 使用 Pandas DataFrame 向现有 CSV 添加新行
- powershell - powershell浏览到文件路径
- python - 在 python 列表理解中获取索引值(在前面有变量)
- django - 反向外键模型形式
- c - 带回车符的 C 程序 \r
- javascript - 在 onclick javascript 效果之后,我可以在 css 中定位一个 :hover 函数吗?