gpt4 book ai didi

javascript - .filter 不是函数

转载 作者:行者123 更新时间:2023-12-03 06:55:53 24 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Filter object properties by key in ES6

(30 个回答)


3年前关闭。




这是我的对象(确保它是 typeof 对象):

{
"1": {"user_id":1,"test":"","user_name":"potato0","isok":"true"},

"2":{"user_id":2,"test":"","user_name":"potato1","isok":" true"},

"3":{"user_id":3,"test":"","user_name":"potato2","isok":" true"},

"4":{"user_id":4,"test":"","user_name":"potato3","isok":"locationd"}

}

为什么使用 .filter不适合我吗?

是不是因为我的变量是 typeof object并且该方法仅适用于数组?
this.activeUsers = window.users.filter( function(user) {
// return ( (user.test === '0') && (user.isok === '0') );
return user.user_id === 1;
});

得到错误:

.filter is not a function



建议的对象替代方案是什么?

最佳答案

filter 是数组上的一种方法。由于您发布的代码包含一个对象,因此您会看到此错误。在使用 Object.values 从对象中获取所有值后,您可能需要应用过滤器。 , 像这样:

var users = {
"1": {
"user_id": 1,
"test": "",
"user_name": "potato0",
"isok": "true"
},

"2": {
"user_id": 2,
"test": "",
"user_name": "potato1",
"isok": " true"
},

"3": {
"user_id": 3,
"test": "",
"user_name": "potato2",
"isok": " true"
},

"4": {
"user_id": 4,
"test": "",
"user_name": "potato3",
"isok": "locationd"
}
};

console.log(Object.values(users).filter(user => user.user_id === 1));

关于javascript - .filter 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55458675/

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