Javascript 对象数组筛选器问题
我将以下JSON作为一个数组,并尝试根据角色属性进行筛选,但无法筛选结果。请帮帮我Javascript 对象数组筛选器问题,javascript,angularjs-filter,Javascript,Angularjs Filter,我将以下JSON作为一个数组,并尝试根据角色属性进行筛选,但无法筛选结果。请帮帮我 var data = [{"roles":["citysupervisor"]},{"roles":["partner","supervisor"]},{"roles":["CitySupervisor"]},{"roles":["citysupervisor"]},{"roles":["partner"]},{"roles":["citysupervisor"]},{"roles":["partner","su
var data = [{"roles":["citysupervisor"]},{"roles":["partner","supervisor"]},{"roles":["CitySupervisor"]},{"roles":["citysupervisor"]},{"roles":["partner"]},{"roles":["citysupervisor"]},{"roles":["partner","supervisor"]},{"roles":["clientsupervisor"]}];
我编写的JavaScript代码如下:
var results = data.filter(function(user) {
var roles = user.roles;
return roles.filter(function(role) {
return role == 'clientsupervisor';
});
});
您的
数据
变量有语法错误。您需要删除包装它的引号
在你的过滤代码中也有一些变化
对此进行更改:
"[{"roles":["citysupervisor"]},{"roles":["partner","supervisor"]},{"roles":["CitySupervisor"]},{"roles":["citysupervisor"]},{"roles":["partner"]},{"roles":["citysupervisor"]},{"roles":["partner","supervisor"]},{"roles":["clientsupervisor"]}]";
为此:
[{"roles":["citysupervisor"]},{"roles":["partner","supervisor"]},{"roles":["CitySupervisor"]},{"roles":["citysupervisor"]},{"roles":["partner"]},{"roles":["citysupervisor"]},{"roles":["partner","supervisor"]},{"roles":["clientsupervisor"]}];
看到它工作了吗
var数据=[{“角色”:[“城市主管”]},{“角色”:[“合作伙伴”,“主管”]},{“角色”:[“城市主管”]},{“角色”:[“城市主管”]},{“角色”:[“合作伙伴”]},{“角色”:[“合作伙伴”,“主管”]},{“角色”:[“客户主管”],“姓名”:“杰克”,“档案ID”:34533};
var结果=data.filter(函数(用户){
返回user.roles.indexOf('clientsupervisor')>-1;
});
控制台日志(结果)
您的数据
变量有语法错误。您需要删除包装它的引号
在你的过滤代码中也有一些变化
对此进行更改:
"[{"roles":["citysupervisor"]},{"roles":["partner","supervisor"]},{"roles":["CitySupervisor"]},{"roles":["citysupervisor"]},{"roles":["partner"]},{"roles":["citysupervisor"]},{"roles":["partner","supervisor"]},{"roles":["clientsupervisor"]}]";
为此:
[{"roles":["citysupervisor"]},{"roles":["partner","supervisor"]},{"roles":["CitySupervisor"]},{"roles":["citysupervisor"]},{"roles":["partner"]},{"roles":["citysupervisor"]},{"roles":["partner","supervisor"]},{"roles":["clientsupervisor"]}];
看到它工作了吗
var数据=[{“角色”:[“城市主管”]},{“角色”:[“合作伙伴”,“主管”]},{“角色”:[“城市主管”]},{“角色”:[“城市主管”]},{“角色”:[“合作伙伴”]},{“角色”:[“合作伙伴”,“主管”]},{“角色”:[“客户主管”],“姓名”:“杰克”,“档案ID”:34533};
var结果=data.filter(函数(用户){
返回user.roles.indexOf('clientsupervisor')>-1;
});
控制台日志(结果)代码>试试这个简单的方法
var results = data.filter(function(user) {
return user.roles.indexOf("clientsupervisor") > -1 ? true: false
});
并从数据对象中删除”
,这是数组对象
var data = [{"roles":["citysupervisor"]},.....];
试试这个,简单的方法
var results = data.filter(function(user) {
return user.roles.indexOf("clientsupervisor") > -1 ? true: false
});
并从数据对象中删除”
,这是数组对象
var data = [{"roles":["citysupervisor"]},.....];
这是无效的JSON,您需要转义双引号(“
)或将字符串用单引号(”
)括起来。请注意,JSON!=JavaScript对象。假设我在同一级别的角色中有两个以上的键,它们的名称为profileId和name。但结果是,我需要将这两个键的名称和profileId都用作id。我们怎么做呢?这是无效的JSON,您需要转义双引号(“
)或将字符串用单引号(”
)括起来。请注意,JSON!=JavaScript对象。假设我在同一级别的角色中还有两个键,它们的名称分别为profileId和name。但是在结果中,我需要这两个键name和profileId作为id。我们怎么做呢?假设我在相同级别的角色中还有两个键profileId和name。但是在结果中,我需要这两个键name和profileId作为id。我们怎么做呢?@Venkat,相同的代码适用于同一级别中的更多键。我更新了我的示例来演示这一点。假设我在同一级别的角色中还有两个键,它们的名称分别为profileId和name。但是在结果中,我需要这两个键name和profileId作为id。我们怎么做呢?@Venkat,相同的代码适用于同一级别中的更多键。我更新了我的示例来演示这一点。假设我在同一级别的角色中还有两个键,它们的名称分别为profileId和name。但是在结果中,我需要这两个键name和profileId作为id。我们怎么做呢?假设我在相同级别的角色中还有两个键profileId和name。但是在结果中,我需要这两个键name和profileId作为id。我们怎么做呢?