Javascript 获取具有特定值的数组
我有一个包含年龄和数字的json数组值。我想创建一个新的数组集,其中包含Javascript 获取具有特定值的数组,javascript,html,arrays,Javascript,Html,Arrays,我有一个包含年龄和数字的json数组值。我想创建一个新的数组集,其中包含{“num”:2}(即)需要返回[{“age”:2,“num”:2},{“age”:3,“num”:2}] var数组_val='[{“年龄”:1,“数值”:1},{“年龄”:2,“数值”:2},{“年龄”:3,“数值”:2}]; console.log(数组值); 函数fetchList(数组值){ 返回数组_val={“num”:1}; } 数组值筛选器(获取列表) console.log(数组值)您需要使用 注意:正
{“num”:2}
(即)需要返回[{“age”:2,“num”:2},{“age”:3,“num”:2}]
var数组_val='[{“年龄”:1,“数值”:1},{“年龄”:2,“数值”:2},{“年龄”:3,“数值”:2}];
console.log(数组值);
函数fetchList(数组值){
返回数组_val={“num”:1};
}
数组值筛选器(获取列表)
console.log(数组值)代码>您需要使用
注意:正如@NinaScholz所说,您需要将字符串转换为数组。我在代码中看到两个问题:
您不会将字符串解析为JSON
你有一个错误的过滤器
作用
var数组_val='[{“年龄”:1,“数值”:1},{“年龄”:2,“数值”:2},{“年龄”:3,“数值”:2}];
console.log(数组值);
函数fetchList(数组值){
return array_val.num==2;//只返回num为2的记录
}
//这里将字符串解析为JSON并应用过滤器
var data=JSON.parse(array_val).filter(fetchList);
控制台日志(数据)
您需要解析JSON字符串。匹配条件错误。num
是对象的内部属性。因此您需要匹配a.num==2
。不要忘记添加=
var数组_val='[{“年龄”:1,“数值”:1},{“年龄”:2,“数值”:2},{“年龄”:3,“数值”:2}];
console.log(数组值);
函数获取列表(a){
返回a.num==2;
}
var res=JSON.parse(array_val).filter(fetchList)
控制台日志(res)代码>这应该可以
var-array_-val=JSON.parse(“[{”age:1,“num:1},{”age:2,“num:2},{”age:3,“num:2}]”);
console.log(数组值);
函数fetchList(数组值){
返回数组_val.num==2;
}
数组值=数组值过滤器(fetchList)
console.log(数组值)代码>这会起作用:
var requiredValue=array_val.filter(函数(项){return item.num==2;
}); 试试这个
var array_val=JSON.parse('[{"age":1,"num":1},{"age":2,"num":2},{"age":3,"num":2}]');
var newarr =[]
for(let i of array_val){
if(i.num == 2){
newarr.push(i);
}
}
console.log(newarr);
在使用数组之前,获取JSON.parse
。
var array_val=JSON.parse('[{"age":1,"num":1},{"age":2,"num":2},{"age":3,"num":2}]');
var newarr =[]
for(let i of array_val){
if(i.num == 2){
newarr.push(i);
}
}
console.log(newarr);